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 |
|
|
| 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 |