Submission #7066417


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;
using static System.Console;
using System.Runtime.CompilerServices;
using static MyUtil;

class MyUtil
{
    public static void Swap<T>(ref T a, ref T b)
    {
	var t = a;
	a = b;
	b = t;
    }

    public static int[] ReadIntArray()
    {
	return ReadLine().Split().Select(x => int.Parse(x)).ToArray();
    }
}

class UnionFind
{
    private int[] d;

    public UnionFind(int n)
    {
	d = new int[n];
	for (int i = 0; i < n; i++){ d[i] = -1; }
    }

    public int Find(int x)
    {
	if (d[x] < 0){ return x; }
	return d[x] = Find(d[x]);
    }

    public void Unite(int x, int y)
    {
	x = Find(x); y = Find(y);
	if (x == y){ return; }
	if (d[x] > d[y]){ Swap(ref x, ref y); }
	d[x] += d[y];
	d[y] = x;
    }

    public bool Same(int x, int y){ return Find(x) == Find(y); }
    public int Size(int x){ return -d[Find(x)]; }
}

class Program
{
    public static void Main()
    {
	var tmp = ReadIntArray();
	int n = tmp[0], k = tmp[1], l = tmp[2];

	UnionFind uf1 = new UnionFind(n+1);
	
	for (int i = 0; i < k; i++)
	{
	    tmp = ReadIntArray();
	    int p = tmp[0], q=tmp[1];
	    uf1.Unite(p, q);
	}

	UnionFind uf2 = new UnionFind(n+1);

	for (int i = 0; i < l; i++)
	{
	    tmp = ReadIntArray();
	    int r = tmp[0], s = tmp[1];
	    if (uf1.Same(r, s)){
		uf2.Unite(r,s);
	    }
	}

	for (int i = 1; i <= n; i++)
	{
	    Write(uf2.Size(i));
	    if (i!=n){ Write(" "); }
	}
	WriteLine("");
    }
}

Submission Info

Submission Time
Task D - Connectivity
User unnohideyuki
Language C# (Mono 4.6.2.0)
Score 0
Code Size 1563 Byte
Status WA
Exec Time 1213 ms
Memory 19228 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 3
AC × 6
WA × 12
Set Name Test Cases
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 24 ms 11220 KiB
subtask0_1.txt AC 24 ms 11348 KiB
subtask0_2.txt AC 24 ms 11348 KiB
subtask1_0.txt AC 293 ms 13300 KiB
subtask1_1.txt WA 1164 ms 17052 KiB
subtask1_10.txt AC 240 ms 13428 KiB
subtask1_11.txt WA 1071 ms 16796 KiB
subtask1_12.txt WA 1104 ms 19100 KiB
subtask1_13.txt WA 1188 ms 17052 KiB
subtask1_14.txt WA 1011 ms 16660 KiB
subtask1_2.txt WA 921 ms 14624 KiB
subtask1_3.txt WA 1191 ms 15000 KiB
subtask1_4.txt WA 1041 ms 18836 KiB
subtask1_5.txt AC 236 ms 17392 KiB
subtask1_6.txt WA 1009 ms 14748 KiB
subtask1_7.txt WA 1169 ms 19228 KiB
subtask1_8.txt WA 1213 ms 19220 KiB
subtask1_9.txt WA 892 ms 17656 KiB