Пример #1
0
        static void Main(string[] args)
        {
            var           inputs = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            var           N      = inputs[0];
            var           Q      = inputs[1];
            UnionFindTree uf     = new UnionFindTree(N);

            for (int i = 0; i < Q; ++i)
            {
                inputs       = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
                var(p, a, b) = (inputs[0], inputs[1], inputs[2]);

                if (p == 0)
                {
                    //連結
                    uf.Unite(a, b);
                }
                else
                {
                    //判定
                    if (uf.Same(a, b))
                    {
                        Console.WriteLine("Yes");
                    }
                    else
                    {
                        Console.WriteLine("No");
                    }
                }
            }
        }