QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#473478 | #5672. Connectivity Problem | Sakib_Safwan | AC ✓ | 1ms | 3788kb | C++20 | 2.9kb | 2024-07-12 05:03:49 | 2024-07-12 05:03:50 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define endl "\n"
#define all(a) a.begin(), a.end()
#define pb push_back
#define eb emplace_back
//#define int long long
// Don't Start typing till you complete the idea.
// Check these things for WA and before submitting
// 1. Did you clear all the global arrays
// 2. Did you checked your <= >= < >
// 3. Did you take the input properly. Did you use break or return while taking input?
// 4. Did you divide by 0.
// 5. Check array , vector , etc size
// 6. in the while loop did you miss something that would cause infinite loop?
// 7. Did you save your dp?
// 8. Are you trying to use something after deleting it?
// 9. Did you read the problem statement wrong?
// 10. Did you check the constrains of the problem properly
// 11. Did you checked for smaller cases like 1 , 0 , etc
// 12. Is it something to with overflow?
// 13. Did you initialized all the variables properly?
// 14. Did you use the formulas correctly?
// STRESS TESTING !!!!!! STRESS TESTING !!!!!
// STRESS Testing Not working?
// Stress test for multiple cases?
// Stress test for big inputs?
// Stress test for really small inputs?
// Even then if it doesn't work -> Did you wrote the wrong Brute force code
// Check these things if you are not generating ideas
// 1. Did you try thinking it in reverse?
// 2. Read the problem statement again
// 3. Check the constraints again
// 4. Try smaller cases in notebook and try to expand
// 5. Think about invariants
// 6. Think simpler ideas maybe?
// 7. Think brute force and try to get something out of it.
// 8. Maybe take a deep breath and take a break for few minutes and drink some water? :3
struct DSU {
vector<int> par, rnk, sz;
int c;
DSU(int n) : par(n + 1), rnk(n + 1, 0), sz(n + 1, 1), c(n) {
for (int i = 1; i <= n; ++i) par[i] = i;
}
int find(int i) {
return (par[i] == i ? i : (par[i] = find(par[i])));
}
bool same(int i, int j) {
return find(i) == find(j);
}
int get_size(int i) {
return sz[find(i)];
}
int count() {
return c; //connected components
}
int merge(int i, int j) {
if ((i = find(i)) == (j = find(j))) return -1;
else --c;
if (rnk[i] > rnk[j]) swap(i, j);
par[i] = j;
sz[j] += sz[i];
if (rnk[i] == rnk[j]) rnk[j]++;
return j;
}
};
void GG()
{
ll n;
cin >> n;
DSU dsu(1000);
for(int i = 1; i <= n; i++){
int x , y;
cin >> x >> y;
if(dsu.same(x , y)) cout << "Y" << endl;
else{
dsu.merge(x , y);
cout << "N" << endl;
}
}
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int ttc=1;
// cin>>ttc;
//int cnt=0;
while(ttc--)
{
//cout<<"Case "<<++cnt<<": ";
GG();
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3548kb
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: 0
Accepted
time: 0ms
memory: 3780kb
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...
output:
N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N Y N Y Y Y N N Y Y Y Y Y N Y Y Y Y N Y Y Y Y Y Y Y N N N Y N N Y Y Y Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
result:
ok 100 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3760kb
input:
200 29 19 6 28 16 17 9 11 20 25 18 41 9 17 4 3 12 24 4 30 22 2 10 39 1 20 10 23 10 11 10 0 29 37 12 22 7 46 4 1 6 28 6 39 23 10 3 11 11 22 14 31 14 24 8 39 7 45 28 20 3 2 0 6 28 19 27 42 7 10 18 10 12 11 27 14 11 23 15 23 9 11 4 28 22 33 6 15 1 15 12 32 12 47 25 2 13 29 8 30 27 2 23 22 16 38 13 9 10...
output:
N N N N N N N N N N N N N N N N N N N N Y N Y N N N N N N Y Y Y N N N N Y N Y N Y Y N Y Y N N Y N Y Y Y N Y Y Y N Y Y N Y Y Y Y Y Y N Y Y N Y Y Y N Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y ...
result:
ok 200 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
1000 4 11 21 24 9 47 22 2 22 35 8 22 24 13 5 17 15 30 10 3 6 8 24 9 29 19 17 7 21 46 13 1 6 31 15 2 14 27 1 34 17 2 7 33 23 37 26 12 3 20 1 18 26 39 12 39 15 22 7 41 3 0 23 26 13 18 15 20 14 16 3 35 21 9 10 12 27 43 25 38 8 21 29 37 23 6 21 47 21 13 0 23 22 17 8 7 14 49 4 37 27 8 10 45 18 2 6 45 23 ...
output:
N N N N N N N N N N N N N N N N N N N N N N N N N N N Y Y N N N Y N N Y Y N N N N N Y Y Y Y Y Y N N N N Y Y Y Y N Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y ...
result:
ok 1000 lines
Test #5:
score: 0
Accepted
time: 1ms
memory: 3564kb
input:
3000 123 31 78 180 42 82 91 164 28 25 142 91 148 102 149 93 101 46 32 4 42 180 13 41 7 85 108 75 59 20 56 14 38 103 109 126 0 138 104 108 108 50 47 152 36 156 59 87 135 111 10 87 78 72 103 177 0 85 81 62 24 67 79 158 46 83 41 140 35 147 127 118 68 138 119 19 9 166 143 142 39 153 119 66 52 160 112 19...
output:
N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N Y N N N N N N N N N N N N N N N N Y N N N N N N N N N N N N N Y N Y N Y N N N N N N N N N Y N N N N N Y N N Y ...
result:
ok 3000 lines
Test #6:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
5000 149 83 70 47 5 128 22 146 149 8 9 43 69 1 129 126 119 8 60 161 112 124 78 190 77 20 137 8 149 61 63 100 132 48 9 98 96 84 0 20 74 40 27 23 1 67 27 95 41 64 134 7 54 44 14 57 26 10 106 11 136 193 111 76 25 60 39 69 43 154 146 114 38 79 51 83 78 3 88 166 69 186 85 32 11 59 94 116 124 52 97 43 84 ...
output:
N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N Y N N N N N N N N N N N N N N N N N N N N N Y N Y N N Y N N N N N N Y N N N N N N N N N N N N Y N N Y N Y N N Y Y N N N Y Y ...
result:
ok 5000 lines
Test #7:
score: 0
Accepted
time: 0ms
memory: 3556kb
input:
10000 510 915 206 189 588 690 871 253 802 171 200 257 875 77 699 781 440 52 653 286 648 388 343 442 302 425 344 481 898 14 497 76 417 93 787 381 401 151 491 951 248 76 192 712 616 21 554 708 51 543 671 27 432 275 430 318 230 989 405 990 419 249 143 62 247 349 455 202 614 947 672 608 39 445 413 445 3...
output:
N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N ...
result:
ok 10000 lines