Submission #1016312
Source Code Expand
#include<bits/stdc++.h>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;
/**
* vector<int>ar(3);
* for(auto&e:ar){
* scanf("%d",&e);
* }
* sort(ar.begin(),ar.end())
* int sum=accumulate(ar.begin(),ar.end(),0);
**/
struct UnionFind {
vector<int> data;
UnionFind(int size) : data(size, -1) {}
bool unite(int x, int y) {
x=root(x), y=root(y);
if (x!=y) {
if (data[y]<data[x]) {
swap(x, y);
}
data[x]+=data[y], data[y]=x;
}
return x!=y;
}
bool find(int x, int y) {
return root(x)==root(y);
}
int root(int x) {
return data[x]<0 ? x : data[x]=root(data[x]);
}
int size(int x) {
return -data[root(x)];
}
};
int main(){
int mod=1000000007;
int n,q;
scanf("%d %d",&n,&q);
UnionFind uf(n);
for (int i=0;i<q;i++) {
int p,a,b;
scanf("%d %d %d",&p,&a,&b);
if (p!=0) printf (uf.find(a,b) ? "Yes\n" : "No\n");
else uf.unite(a,b);
}
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Union Find |
User |
nyon |
Language |
C++11 (GCC 4.9.2) |
Score |
100 |
Code Size |
1167 Byte |
Status |
AC |
Exec Time |
129 ms |
Memory |
1312 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:49: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:53: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 |
16 ms |
800 KB |
subtask_01_01.txt |
AC |
79 ms |
924 KB |
subtask_01_02.txt |
AC |
19 ms |
1184 KB |
subtask_01_03.txt |
AC |
119 ms |
924 KB |
subtask_01_04.txt |
AC |
127 ms |
1184 KB |
subtask_01_05.txt |
AC |
23 ms |
800 KB |
subtask_01_06.txt |
AC |
25 ms |
1304 KB |
subtask_01_07.txt |
AC |
123 ms |
796 KB |
subtask_01_08.txt |
AC |
129 ms |
1184 KB |
subtask_01_09.txt |
AC |
17 ms |
928 KB |
subtask_01_10.txt |
AC |
18 ms |
1300 KB |
subtask_01_11.txt |
AC |
118 ms |
924 KB |
subtask_01_12.txt |
AC |
126 ms |
1180 KB |
subtask_01_13.txt |
AC |
101 ms |
920 KB |
subtask_01_14.txt |
AC |
19 ms |
1308 KB |
subtask_01_15.txt |
AC |
123 ms |
924 KB |
subtask_01_16.txt |
AC |
127 ms |
1184 KB |
subtask_01_17.txt |
AC |
101 ms |
1308 KB |
subtask_01_18.txt |
AC |
100 ms |
1312 KB |