QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#186037 | #5672. Connectivity Problem | aesthetic# | ML | 1ms | 3468kb | C++17 | 727b | 2023-09-23 01:18:10 | 2023-09-23 01:18:10 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100100;
int n;
int uf[MAXN];
int find(int x) { return uf[x] != -1 ? uf[x] = find(uf[x]) : x; }
bool join(int x, int y)
{
if((x = find(x)) == (y = find(y)))
return false;
uf[y] = x;
return true;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
ios_base::sync_with_stdio(false), cin.tie(NULL);
for(int i = 1; i <= 10010; ++i)
uf[i] = -1;
cin >> n;
for(int i = 1, u, v; i <= n; ++i)
{
cin >> u >> v;
if(join(u, v))
cout << "N\n";
else
cout << "Y\n";
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3468kb
input:
12 3 4 4 9 8 1 2 3 5 6 2 9 5 9 7 3 4 8 5 6 1 8 6 1
output:
N N N N N Y N N N Y Y Y
result:
ok 12 lines
Test #2:
score: -100
Memory Limit Exceeded
input:
100 26 39 2 21 4 17 2 16 12 19 27 0 8 43 10 12 6 29 5 9 19 32 13 47 13 36 3 6 13 18 9 40 11 40 29 16 7 24 10 35 19 41 6 24 28 21 26 35 23 47 2 30 19 17 10 6 22 6 15 25 19 11 2 8 11 25 14 23 27 1 1 16 16 0 23 34 2 25 10 17 3 35 23 37 13 0 22 7 27 29 15 13 10 5 18 40 28 46 19 0 23 40 4 46 19 3 20 39 1...