Submission #7923169
Source Code Expand
#include <iostream> #include <vector> using namespace std; struct UnionFind { vector<int> par; UnionFind(int N) : par(N) { for(int i = 0; i < N; i++) par[i] = i; } int root(int x) { if(par[x] == x) return x; //ここで併合処理も行なっている return par[x] = root(par[x]); } void unite(int x, int y) { int rx = root(x); int ry = root(y); if(rx == ry) return; par[rx] = ry; } bool same(int x, int y) { int rx = root(x); int ry = root(y); return rx == ry; } }; int main() { int N; cin >> N; int M; cin >> M; UnionFind b(M); vector<bool> L(M, false); for(int i = 0; i < N; i++) { int ki; cin >> ki; int pre_l = -1; for(int j = 0; j < ki; j++) { int l; cin >> l; l--; L[l] = true; if(pre_l == -1) { pre_l = l; continue; } b.unite(pre_l, l); } } int f = -1; for(int i = 0; i < M; i++) { if(L[i] == false) continue; if(f == -1){ f = i; continue; } if(b.same(f, i) == false) { cout << "NO" << endl; return 0; } } cout << "YES" << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - Interpretation |
User | ssssttttnnnn |
Language | C++14 (Clang 3.8.0) |
Score | 400 |
Code Size | 1125 Byte |
Status | AC |
Exec Time | 126 ms |
Memory | 2048 KB |
Judge Result
Set Name | sample | dataset1 | dataset2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | 200 / 200 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt |
dataset1 | sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt |
dataset2 | sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, sample-01.txt, sample-02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 1 ms | 256 KB |
01-02.txt | AC | 2 ms | 256 KB |
01-03.txt | AC | 2 ms | 256 KB |
01-04.txt | AC | 2 ms | 256 KB |
01-05.txt | AC | 2 ms | 256 KB |
01-06.txt | AC | 2 ms | 256 KB |
01-07.txt | AC | 2 ms | 256 KB |
01-08.txt | AC | 2 ms | 256 KB |
01-09.txt | AC | 2 ms | 256 KB |
01-10.txt | AC | 2 ms | 256 KB |
02-01.txt | AC | 88 ms | 640 KB |
02-02.txt | AC | 108 ms | 256 KB |
02-03.txt | AC | 89 ms | 512 KB |
02-04.txt | AC | 108 ms | 640 KB |
02-05.txt | AC | 111 ms | 256 KB |
02-06.txt | AC | 108 ms | 640 KB |
02-07.txt | AC | 114 ms | 256 KB |
02-08.txt | AC | 92 ms | 256 KB |
02-09.txt | AC | 126 ms | 640 KB |
02-10.txt | AC | 101 ms | 2048 KB |
02-11.txt | AC | 100 ms | 2048 KB |
02-12.txt | AC | 98 ms | 640 KB |
02-13.txt | AC | 100 ms | 640 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |