Submission #2522505
Source Code Expand
#include <iostream>
#include <vector>
using namespace std;
#define rep(i,n) for(int i=0; i<n; i++)
struct UnionFind {
vector<int> v;
UnionFind(int n): v(n) {
rep(i, n) v[i] = i;
}
int find(int x) {
if(v[x] == x) return x;
return v[x] = find(v[x]);
}
void unite(int x, int y) {
v[find(x)] = find(y);
}
bool same(int x, int y) {
return find(x) == find(y);
}
};
int main() {
int n, m;
cin >> n >> m;
vector<int> p(n);
rep(i, n) cin >> p[i];
vector<int> x(m), y(m);
rep(i, m) cin >> x[i] >> y[i];
UnionFind uf(n);
rep(i, m) uf.unite(x[i]-1, y[i]-1);
int cnt = 0;
rep(i, n) cnt += uf.same(p[i]-1, i);
cout << cnt << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Equals |
| User | suminos |
| Language | C++14 (GCC 5.4.1) |
| Score | 400 |
| Code Size | 735 Byte |
| Status | AC |
| Exec Time | 89 ms |
| Memory | 1792 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt |
| All | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_000.txt | AC | 1 ms | 256 KiB |
| 0_001.txt | AC | 1 ms | 256 KiB |
| 0_002.txt | AC | 1 ms | 256 KiB |
| 0_003.txt | AC | 1 ms | 256 KiB |
| 1_004.txt | AC | 43 ms | 1024 KiB |
| 1_005.txt | AC | 85 ms | 1792 KiB |
| 1_006.txt | AC | 88 ms | 1792 KiB |
| 1_007.txt | AC | 1 ms | 256 KiB |
| 1_008.txt | AC | 1 ms | 256 KiB |
| 1_009.txt | AC | 1 ms | 256 KiB |
| 1_010.txt | AC | 1 ms | 256 KiB |
| 1_011.txt | AC | 1 ms | 256 KiB |
| 1_012.txt | AC | 1 ms | 256 KiB |
| 1_013.txt | AC | 2 ms | 256 KiB |
| 1_014.txt | AC | 3 ms | 256 KiB |
| 1_015.txt | AC | 1 ms | 256 KiB |
| 1_016.txt | AC | 1 ms | 256 KiB |
| 1_017.txt | AC | 2 ms | 256 KiB |
| 1_018.txt | AC | 40 ms | 1024 KiB |
| 1_019.txt | AC | 29 ms | 1024 KiB |
| 1_020.txt | AC | 29 ms | 1024 KiB |
| 1_021.txt | AC | 30 ms | 1024 KiB |
| 1_022.txt | AC | 89 ms | 1792 KiB |