Submission #2077062
Source Code Expand
#include "bits/stdc++.h"
using namespace std;
vector<vector<int>> uni;
void init(int s)
{
uni.resize(s, vector<int>(2));
for(int i = 0; i < s; ++i)
{
uni[i][0] = i;
uni[i][1] = 0;
}
}
int find(int x)
{
for(int t = x; ; )
{
if(t == uni[t][0])
{
uni[x][0] = t;
return t;
}
else
{
t = uni[t][0];
}
}
}
void comb(int x, int y)
{
int px = find(x), py = find(y);
if(px != py)
{
if(uni[px][1] > uni[py][1])
{
uni[px][0] = py;
uni[py][1] = max(uni[py][1], uni[px][1] + 1);
}
else
{
uni[py][0] = px;
uni[px][1] = max(uni[px][1], uni[py][1] + 1);
}
}
}
int main()
{
int n, q;
scanf("%d %d", &n, &q);
init(n);
for(int i = 0, p, a, b; i < q; ++i)
{
scanf("%d %d %d", &p, &a, &b);
if(p)
{
printf(find(a) == find(b) ? "Yes\n" : "No\n");
}
else
{
comb(a, b);
}
}
}
Submission Info
Submission Time |
|
Task |
B - Union Find |
User |
ksi |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
899 Byte |
Status |
AC |
Exec Time |
191 ms |
Memory |
6272 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:48:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &n, &q);
^
./Main.cpp:52:32: 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 |
34 ms |
1152 KB |
subtask_01_02.txt |
AC |
8 ms |
5760 KB |
subtask_01_03.txt |
AC |
44 ms |
1024 KB |
subtask_01_04.txt |
AC |
72 ms |
6272 KB |
subtask_01_05.txt |
AC |
4 ms |
256 KB |
subtask_01_06.txt |
AC |
12 ms |
5760 KB |
subtask_01_07.txt |
AC |
48 ms |
896 KB |
subtask_01_08.txt |
AC |
72 ms |
6272 KB |
subtask_01_09.txt |
AC |
1 ms |
256 KB |
subtask_01_10.txt |
AC |
8 ms |
5760 KB |
subtask_01_11.txt |
AC |
45 ms |
896 KB |
subtask_01_12.txt |
AC |
76 ms |
6272 KB |
subtask_01_13.txt |
AC |
41 ms |
896 KB |
subtask_01_14.txt |
AC |
8 ms |
5760 KB |
subtask_01_15.txt |
AC |
46 ms |
896 KB |
subtask_01_16.txt |
AC |
66 ms |
6272 KB |
subtask_01_17.txt |
AC |
188 ms |
6016 KB |
subtask_01_18.txt |
AC |
191 ms |
6016 KB |