Submission #2559293
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
vector<int>dsu;
int parent(int a){
if(dsu[a] == a) return a;
return dsu[a] = parent(dsu[a]);
}
void join(int a, int b){
int pa = parent(a);
int pb = parent(b);
dsu[pa] = pb;
}
int main(){
int n, m, a, b;
scanf("%d %d", &n, &m);
vector<int>p(n);
dsu = vector<int>(n);
for(int i = 0; i < n; i++){
scanf("%d", &p[i]);
p[i]--;
}
for(int i = 0; i < n; i++) dsu[i] = i;
for(int i = 0; i < m; i++){
scanf("%d %d", &a, &b);
--a; --b;
join(a,b);
}
int ans = 0;
for(int i = 0; i < n; i++){
ans += parent(p[i]) == parent(i);
}
printf("%d\n", ans);
}
Submission Info
Submission Time
2018-05-26 02:34:55+0900
Task
D - Equals
User
Albert
Language
C++14 (GCC 5.4.1)
Score
400
Code Size
753 Byte
Status
AC
Exec Time
33 ms
Memory
1024 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &n, &m);
^
./Main.cpp:24:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &p[i]);
^
./Main.cpp:30:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &a, &b);
^
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 KB
0_001.txt
AC
1 ms
256 KB
0_002.txt
AC
1 ms
256 KB
0_003.txt
AC
1 ms
256 KB
1_004.txt
AC
16 ms
256 KB
1_005.txt
AC
28 ms
1024 KB
1_006.txt
AC
31 ms
1024 KB
1_007.txt
AC
1 ms
256 KB
1_008.txt
AC
1 ms
256 KB
1_009.txt
AC
1 ms
256 KB
1_010.txt
AC
1 ms
256 KB
1_011.txt
AC
1 ms
256 KB
1_012.txt
AC
1 ms
256 KB
1_013.txt
AC
1 ms
256 KB
1_014.txt
AC
2 ms
256 KB
1_015.txt
AC
1 ms
256 KB
1_016.txt
AC
1 ms
256 KB
1_017.txt
AC
1 ms
256 KB
1_018.txt
AC
14 ms
256 KB
1_019.txt
AC
11 ms
1024 KB
1_020.txt
AC
11 ms
1024 KB
1_021.txt
AC
11 ms
1024 KB
1_022.txt
AC
33 ms
1024 KB