# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
121361 | impri | 문명 (KOI17_civilization) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<queue>
using namespace std;
int parent[4000001];
int siz[4000001];
int mov[4][2] = { 1,0,
0,1,
0,-1,
-1,0 };
int find(int n) {
if (parent[n] == n)
return n;
else
return parent[n] = find(parent[n]);
}
void uni(int a, int b) {
if (find(a) == find(b))
return;
if(siz[find(b)]]>siz[find(a)])
{siz[find(b)] += siz[find(a)];
parent[find(a)] = find(b);}
else
{siz[find(a)] += siz[find(b)];
parent[find(b)] = find(a);}
}
int mapping(int a, int b) {
return a * 2000 + b;
}