Submission #992270
Source Code Expand
#include <iostream> #include <sstream> #include <vector> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <map> #include <set> #define REP(i,k,n) for(int i=k;i<n;i++) #define rep(i,n) for(int i=0;i<n;i++) #define each(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++) #define INF 1<<30 #define mp make_pair using namespace std; typedef long long ll; typedef pair<int,int> P; struct UnionFind { vector<int> par, rank; int N; UnionFind(int n) { N = n; par.resize(n); rank.resize(n); rep(i, n) { par[i] = i; rank[i] = 0; } } int find(int x) { if(par[x] == x) return x; else return par[x] = find(par[x]); } void unite(int x, int y) { x = find(x); y = find(y); if(x == y) return; if(rank[x] < rank[y]) { par[x] = y; } else { par[y] = x; if(rank[x] == rank[y]) rank[x]++; } } bool same(int x, int y) { return find(x) == find(y); } int size() { int cnt = 0; rep(i, N) if(find(i) == i) cnt++; return cnt; } }; int main() { int n, m; cin >> n >> m; set<int> st[m + 5]; rep(i, n) { int k; cin >> k; rep(j, k) { int l; cin >> l; st[l].insert(i); } } // cout << "print set" << endl; // rep(i, m + 1) { // cout << i << " |"; // each(it, st[i]) cout << *it + 1 << " "; // cout << endl; // } // UnionFind uf(n + 5); rep(i, m) { if(st[i+1].size() <= 1) continue; int pre = *(st[i+1].begin()); each(it, st[i+1]) { uf.unite(pre, *it); } } int cnt = 0; rep(i, n) { if(uf.find(0) == uf.find(i)) cnt++; } if(cnt == n) cout << "YES" << endl; else cout << "NO" << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Interpretation |
User | Ry0u_ |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1753 Byte |
Status | AC |
Exec Time | 78 ms |
Memory | 10368 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 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 2 ms | 256 KB |
01-02.txt | AC | 2 ms | 384 KB |
01-03.txt | AC | 3 ms | 384 KB |
01-04.txt | AC | 3 ms | 256 KB |
01-05.txt | AC | 3 ms | 256 KB |
01-06.txt | AC | 3 ms | 384 KB |
01-07.txt | AC | 3 ms | 256 KB |
01-08.txt | AC | 3 ms | 384 KB |
01-09.txt | AC | 3 ms | 256 KB |
01-10.txt | AC | 3 ms | 384 KB |
02-01.txt | AC | 49 ms | 9600 KB |
02-02.txt | AC | 70 ms | 5760 KB |
02-03.txt | AC | 49 ms | 7296 KB |
02-04.txt | AC | 61 ms | 9984 KB |
02-05.txt | AC | 63 ms | 6016 KB |
02-06.txt | AC | 61 ms | 9984 KB |
02-07.txt | AC | 64 ms | 6144 KB |
02-08.txt | AC | 50 ms | 5760 KB |
02-09.txt | AC | 78 ms | 10368 KB |
02-10.txt | AC | 54 ms | 7680 KB |
02-11.txt | AC | 53 ms | 7680 KB |
02-12.txt | AC | 52 ms | 7424 KB |
02-13.txt | AC | 52 ms | 7424 KB |
sample-01.txt | AC | 2 ms | 256 KB |
sample-02.txt | AC | 2 ms | 256 KB |