Submission #1697146
Source Code Expand
#include "bits/stdc++.h" #define rep(i,n) for(int i=0;i<n;i++) #define ALL(v) (v).begin(),(v).end() typedef long long LL; const int INF = 1 << 25; const LL MOD = 1000000007LL; using namespace std; typedef pair<int, int> P; struct UnionFind { int *par; int *rank; int *cnt; UnionFind(int n) { par = new int[n]; rank = new int[n]; cnt = new int[n]; rep(i, n) { par[i] = i; rank[i] = 0; cnt[i] = 1; } } int find(int x) { if (x == par[x]) return x; return par[x] = find(par[x]); } bool same(int x, int y) { return find(x) == find(y); } void unite(int x, int y) { x = find(x); y = find(y); if (x == y) return; if (rank[x] < rank[y]) { par[x] = y; cnt[y] += cnt[x]; } else { par[y] = x; cnt[x] += cnt[y]; if (rank[x] == rank[y]) rank[x]++; } } }; int main() { int N, K, L; cin >> N >> K >> L; UnionFind road(N), rail(N); rep(i, K) { int p, q; cin >> p >> q; p--; q--; road.unite(p, q); } rep(i, L) { int r, s; cin >> r >> s; r--; s--; if (road.same(r, s)) { rail.unite(r, s); } } rep(i, N) { if (i > 0) cout << " "; cout << rail.cnt[rail.find(i)]; } cout << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Connectivity |
User | Div9851 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1226 Byte |
Status | WA |
Exec Time | 163 ms |
Memory | 5248 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 400 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt |
All | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_0.txt | AC | 1 ms | 256 KB |
subtask0_1.txt | AC | 1 ms | 256 KB |
subtask0_2.txt | AC | 1 ms | 256 KB |
subtask1_0.txt | AC | 103 ms | 256 KB |
subtask1_1.txt | WA | 128 ms | 5120 KB |
subtask1_10.txt | AC | 109 ms | 384 KB |
subtask1_11.txt | WA | 126 ms | 4608 KB |
subtask1_12.txt | WA | 126 ms | 4992 KB |
subtask1_13.txt | WA | 143 ms | 5120 KB |
subtask1_14.txt | WA | 163 ms | 4224 KB |
subtask1_2.txt | WA | 121 ms | 3968 KB |
subtask1_3.txt | WA | 146 ms | 5248 KB |
subtask1_4.txt | WA | 162 ms | 4352 KB |
subtask1_5.txt | AC | 111 ms | 384 KB |
subtask1_6.txt | WA | 120 ms | 4352 KB |
subtask1_7.txt | WA | 126 ms | 5248 KB |
subtask1_8.txt | WA | 155 ms | 5248 KB |
subtask1_9.txt | WA | 159 ms | 3584 KB |