Submission #4481622
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
//////// kokokara
class UnionFind {
public:
vector<int> par;
UnionFind(int n) {
par=vector<int>(n,-1);
}
int root(int a) {
if (par[a]<0) return a;
return par[a] = root(par[a]);
}
int size(int a) {
return -par[root(a)];
}
//頂点結合
bool con(int a, int b) {
a=root(a);
b=root(b);
if (a==b) return false;
if (size(a)<size(b)) swap(a,b);
par[a]+=par[b];
par[b]=a;
return true;
}
};
//////// kokomade
///test https://atc001.contest.atcoder.jp/tasks/unionfind_a
int main(){
int n,q,p,a,b;
scanf("%d %d",&n,&q);
UnionFind uf(n); //n個頂点で初期状態用意
for (int i=0;i<q;i++) {
scanf("%d %d %d",&p,&a,&b);
if (p==0) {
uf.con(a,b);
} else {
a=uf.root(a);
b=uf.root(b);
printf("%s\n",a==b?"Yes":"No");
}
}
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Union Find |
User |
nyon |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1061 Byte |
Status |
AC |
Exec Time |
50 ms |
Memory |
1280 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:40:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d",&n,&q);
^
./Main.cpp:43:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d %d",&p,&a,&b);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
00_sample_01.txt |
All |
00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt |
Case Name |
Status |
Exec Time |
Memory |
00_sample_01.txt |
AC |
1 ms |
256 KB |
subtask_01_01.txt |
AC |
29 ms |
640 KB |
subtask_01_02.txt |
AC |
2 ms |
640 KB |
subtask_01_03.txt |
AC |
41 ms |
1024 KB |
subtask_01_04.txt |
AC |
50 ms |
1152 KB |
subtask_01_05.txt |
AC |
4 ms |
256 KB |
subtask_01_06.txt |
AC |
5 ms |
640 KB |
subtask_01_07.txt |
AC |
45 ms |
768 KB |
subtask_01_08.txt |
AC |
50 ms |
1280 KB |
subtask_01_09.txt |
AC |
1 ms |
256 KB |
subtask_01_10.txt |
AC |
1 ms |
640 KB |
subtask_01_11.txt |
AC |
42 ms |
896 KB |
subtask_01_12.txt |
AC |
50 ms |
1152 KB |
subtask_01_13.txt |
AC |
38 ms |
768 KB |
subtask_01_14.txt |
AC |
2 ms |
640 KB |
subtask_01_15.txt |
AC |
43 ms |
768 KB |
subtask_01_16.txt |
AC |
50 ms |
1280 KB |
subtask_01_17.txt |
AC |
50 ms |
896 KB |
subtask_01_18.txt |
AC |
50 ms |
896 KB |