Submission #3908039
Source Code Expand
#include <bits/stdc++.h> using namespace std; //repetition #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define rep(i, n) for(int i = 0; i < (int)(n); i++) //container util #define all(x) (x).begin(),(x).end() //typedef typedef long long ll; typedef vector<int> VI; typedef vector<VI> VVI; typedef vector<ll> VLL; typedef vector<VLL> VVLL; typedef vector<string> VS; typedef pair<int, int> PII; typedef pair<ll, ll> PLL; //conversion inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;} template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();} struct UnionFind { vector<int> par; // 親ノード vector<int> rank; // ランク UnionFind(int n = 1) { init(n); } void init(int n = 1) { par.resize(n); rank.resize(n); for (int i = 0; i < n; ++i) par[i] = i, rank[i] = 0; } int root(int x) { if (par[x] == x) { return x; } else { int r = root(par[x]); return par[x] = r; } } bool issame(int x, int y) { return root(x) == root(y); } bool merge(int x, int y) { x = root(x); y = root(y); if (x == y) return false; if (rank[x] < rank[y]) swap(x, y); if (rank[x] == rank[y]) ++rank[x]; par[y] = x; return true; } }; int main(){ int N,M; cin >> N >> M; UnionFind uf(N+M); int L,K; rep(i,N){ cin >> K; rep(j,K){ cin >> L; L--; uf.merge(L,i+M); } } FOR(i,1,N){ if(uf.issame(M, i+M) == false){ cout << "NO" << endl; return 0; } } cout << "YES" << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Interpretation |
User | edamame88 |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1775 Byte |
Status | AC |
Exec Time | 48 ms |
Memory | 1792 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 | 32 ms | 1024 KB |
02-02.txt | AC | 39 ms | 1024 KB |
02-03.txt | AC | 32 ms | 768 KB |
02-04.txt | AC | 43 ms | 1408 KB |
02-05.txt | AC | 40 ms | 896 KB |
02-06.txt | AC | 42 ms | 1408 KB |
02-07.txt | AC | 42 ms | 1024 KB |
02-08.txt | AC | 33 ms | 1024 KB |
02-09.txt | AC | 48 ms | 1792 KB |
02-10.txt | AC | 38 ms | 1024 KB |
02-11.txt | AC | 38 ms | 1024 KB |
02-12.txt | AC | 37 ms | 1024 KB |
02-13.txt | AC | 37 ms | 1024 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |