QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#473478#5672. Connectivity ProblemSakib_SafwanAC ✓1ms3788kbC++202.9kb2024-07-12 05:03:492024-07-12 05:03:50

Judging History

你现在查看的是最新测评结果

  • [2024-07-12 05:03:50]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3788kb
  • [2024-07-12 05:03:49]
  • 提交

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