编程题
科学家的梦想 ### 题目描述 经过蓝桥科学家不懈的努力,蓝桥王国终于成功研发出了世界上首台时光机。而小明作为蓝桥王国首席科学家,他第一个拿到了时光机的使用权。 已知蓝桥王国一共有 $N$ 个公民,他们的编号分别为 $1\sim N$,起初每个公民都没有朋友。 小明的梦想是让蓝桥王国的所有公民都能互相成为好朋友,于是他还偷偷发明出了友情之箭和友情探测器。友情之箭除了能让射中的两个人成为好朋友外,还能让他们彼此的朋友圈融合(即朋友的朋友也将成为自己的朋友);友情探测器可以检测此刻任意两个公民是否为朋友。 为了实现梦想,小明提出了 $M$ 个计划,计划有以下三种类型: + `1 x y`,用友情之箭射中公民 $x$ 和公民 $y$。 + `2 x y`,用友情探测器检测公民 $x$ 和公民 $y$ 是否是朋友。 + `3 z`,乘坐时光机回到第 $z$ 个计划执行完成的时刻。 不幸的是年迈的小明已经无法承受住穿越时空带来的冲击力,所以他只能将梦想寄托于你身上,请你帮帮他! ### 输入描述 输入第 $1$ 行包含两个正整数 $N,M$,分别表示蓝桥王国的公民数和小明的计划个数。 第 $2\sim M+1$ 行每行表示一个计划,输入格式如题所述。 $1\leq N,M \leq 10^5$,$1\leq x,y \leq N$,保证输入合法。 第 $1$ 行包含两个正整数 $N,M$,分别表示大臣的数量和口供的数量。 之后的第 $2 \sim M+1$ 行每行输入两个整数 $x , y$,表示口供的信息。 $1\leq N\leq10^5$,$1\leq M \leq 2\times10^5$,$1 \leq x,y\leq N$。 ### 输出描述 对于每个类型为 $2$ 的计划,若检测双方是朋友,则输出 `Y`,否则输出 `N`。 ### 输入输出样例 #### 示例 1 >输入 ```txt 5 5 2 1 2 1 1 2 2 1 2 3 1 2 1 2 ``` >输出 ```txt N Y N ```
查看答案
赣ICP备20007335号-2