Submission #7499017
Source Code Expand
#include<bits/stdc++.h> #define rep(i,n,m) for(int i = (n); i <(m); i++) #define rrep(i,n,m) for(int i = (n) - 1; i >=(m); i--) using namespace std; using ll = long long; struct edge{int to, from;}; struct UnionFind { vector<int> rank; vector<int> parent; const int n; UnionFind(int _n) :n(_n) { rank.assign(n, 1); parent.assign(n, -1); } int find(int node) { assert (node < n); if (parent[node] == -1) return node; else return parent[node] = find(parent[node]); } void unite(int i, int j) { i = find(i); j = find(j); if (i == j) return; if (rank[i] == rank[j]) { parent[j] = i; rank[i]++; } else { if (rank[i] > rank[j]) swap(i, j); parent[j] = i; } } bool is_same(int i, int j) { return find(i) == find(j); } }; int main() { int n, m; cin >> n >> m; vector<edge> E; rep(i, 0, n) { int k; cin >> k; rep(j, 0, k) { int lang; cin >> lang; --lang; edge ee = {i, n+lang}; E.push_back(ee); } } UnionFind uf(n+m); for (edge e: E) uf.unite(e.to, e.from); bool ans = true; rep(i, 0, n) ans &= uf.is_same(0, i); if (ans) cout << "YES" << endl; else cout << "NO" << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Interpretation |
User | Kiona0405 |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1623 Byte |
Status | AC |
Exec Time | 51 ms |
Memory | 3700 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 | 1 ms | 256 KB |
01-03.txt | AC | 2 ms | 256 KB |
01-04.txt | AC | 1 ms | 256 KB |
01-05.txt | AC | 2 ms | 256 KB |
01-06.txt | AC | 1 ms | 256 KB |
01-07.txt | AC | 1 ms | 256 KB |
01-08.txt | AC | 1 ms | 256 KB |
01-09.txt | AC | 1 ms | 256 KB |
01-10.txt | AC | 2 ms | 256 KB |
02-01.txt | AC | 34 ms | 1908 KB |
02-02.txt | AC | 43 ms | 1780 KB |
02-03.txt | AC | 34 ms | 1524 KB |
02-04.txt | AC | 43 ms | 2420 KB |
02-05.txt | AC | 44 ms | 1780 KB |
02-06.txt | AC | 43 ms | 2420 KB |
02-07.txt | AC | 44 ms | 1780 KB |
02-08.txt | AC | 35 ms | 2292 KB |
02-09.txt | AC | 51 ms | 3700 KB |
02-10.txt | AC | 39 ms | 2292 KB |
02-11.txt | AC | 38 ms | 2292 KB |
02-12.txt | AC | 38 ms | 1780 KB |
02-13.txt | AC | 39 ms | 1780 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |