敌人 |
难度级别: A; 编程语言:不限;运行时间限制:1000ms; 运行空间限制:256000KB; 代码长度限制:2000000B |
试题描述
|
俗话说得好,敌人的敌人就是朋友。
现在有n个人,编号1至n,初始互不相识。接下来有m个操作,操作分为两种: (1)检查x号和y号是否是朋友,若不是,则变成敌人(2)询问x号的敌人有多少个 请你针对每个操作中的询问给出回答。 |
输入
|
第一行两个正整数n、m,表示人的数量和操作的数量。
接下来m行,依次描述输入。每行的第一个整数为1或2表示操作种类。对于操作(1),随后有两个正整数x,y。对于操作(2),随后一个正整数x。 |
输出
|
输出包含m行,对于操作(1),输入'N'或"Y",'N'表示x和y之前不是敌人,'Y'表示是敌人。对于操作(2),输出x的朋友数量。
|
输入示例
|
5 8
1 1 2 1 1 3 1 2 3 2 3 1 4 5 2 3 1 1 4 2 3 |
输出示例
|
N
N Y 1 N 1 N 2 |
其他说明
|
n,m<=300000。
对于80%的数据,不包含操作2。 |
c++代码