Submission #56511

# Submission time Handle Problem Language Result Execution time Memory
56511 2018-07-11T14:40:52 Z aome Game (IOI14_game) C++17
100 / 100
768 ms 160328 KB
#include "game.h"

#include <bits/stdc++.h>

using namespace std;

const int N = 1505;

int n;
int par[N];
int cnt[N][N];

int find(int u) { return u == par[u] ? u : par[u] = find(par[u]); }

void initialize(int _n) {
	n = _n;
	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < i; ++j) {
			cnt[i][j] = cnt[j][i] = 1;
		}
	}
	for (int i = 0; i < n; ++i) par[i] = i;
}

int hasEdge(int u, int v) {
    u = find(u), v = find(v);
    if (u == v || cnt[u][v] > 1) {
    	cnt[u][v]--, cnt[v][u]--;
    	return 0;
    }
    cnt[u][v] = cnt[v][u] = 0; 
    for (int i = 0; i < n; ++i) {
    	cnt[v][i] += cnt[u][i], cnt[u][i] = 0;
    	cnt[i][v] += cnt[i][u], cnt[i][u] = 0;
    }
    par[u] = v; return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 2 ms 356 KB Output is correct
3 Correct 2 ms 468 KB Output is correct
4 Correct 3 ms 508 KB Output is correct
5 Correct 2 ms 512 KB Output is correct
6 Correct 2 ms 624 KB Output is correct
7 Correct 2 ms 644 KB Output is correct
8 Correct 4 ms 648 KB Output is correct
9 Correct 3 ms 652 KB Output is correct
10 Correct 2 ms 748 KB Output is correct
11 Correct 3 ms 752 KB Output is correct
12 Correct 3 ms 756 KB Output is correct
13 Correct 3 ms 760 KB Output is correct
14 Correct 2 ms 764 KB Output is correct
15 Correct 3 ms 768 KB Output is correct
16 Correct 2 ms 772 KB Output is correct
17 Correct 2 ms 776 KB Output is correct
18 Correct 2 ms 780 KB Output is correct
19 Correct 2 ms 784 KB Output is correct
20 Correct 2 ms 788 KB Output is correct
21 Correct 2 ms 792 KB Output is correct
22 Correct 2 ms 796 KB Output is correct
23 Correct 2 ms 800 KB Output is correct
24 Correct 2 ms 804 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 808 KB Output is correct
2 Correct 2 ms 808 KB Output is correct
3 Correct 2 ms 828 KB Output is correct
4 Correct 3 ms 832 KB Output is correct
5 Correct 3 ms 836 KB Output is correct
6 Correct 2 ms 840 KB Output is correct
7 Correct 3 ms 972 KB Output is correct
8 Correct 2 ms 972 KB Output is correct
9 Correct 2 ms 972 KB Output is correct
10 Correct 2 ms 972 KB Output is correct
11 Correct 2 ms 972 KB Output is correct
12 Correct 2 ms 972 KB Output is correct
13 Correct 2 ms 972 KB Output is correct
14 Correct 3 ms 972 KB Output is correct
15 Correct 3 ms 972 KB Output is correct
16 Correct 2 ms 972 KB Output is correct
17 Correct 2 ms 972 KB Output is correct
18 Correct 2 ms 972 KB Output is correct
19 Correct 2 ms 972 KB Output is correct
20 Correct 3 ms 972 KB Output is correct
21 Correct 3 ms 972 KB Output is correct
22 Correct 3 ms 972 KB Output is correct
23 Correct 2 ms 972 KB Output is correct
24 Correct 2 ms 972 KB Output is correct
25 Correct 3 ms 1052 KB Output is correct
26 Correct 3 ms 1052 KB Output is correct
27 Correct 3 ms 1056 KB Output is correct
28 Correct 3 ms 1060 KB Output is correct
29 Correct 3 ms 1064 KB Output is correct
30 Correct 4 ms 1068 KB Output is correct
31 Correct 2 ms 1072 KB Output is correct
32 Correct 3 ms 1076 KB Output is correct
33 Correct 3 ms 1080 KB Output is correct
34 Correct 4 ms 1344 KB Output is correct
35 Correct 5 ms 1380 KB Output is correct
36 Correct 3 ms 1420 KB Output is correct
37 Correct 5 ms 1456 KB Output is correct
38 Correct 6 ms 1492 KB Output is correct
39 Correct 5 ms 1508 KB Output is correct
40 Correct 4 ms 1528 KB Output is correct
41 Correct 4 ms 1548 KB Output is correct
42 Correct 4 ms 1568 KB Output is correct
43 Correct 3 ms 1588 KB Output is correct
44 Correct 3 ms 1608 KB Output is correct
45 Correct 5 ms 1628 KB Output is correct
46 Correct 4 ms 1648 KB Output is correct
47 Correct 3 ms 1780 KB Output is correct
48 Correct 5 ms 1780 KB Output is correct
49 Correct 6 ms 1780 KB Output is correct
50 Correct 6 ms 1780 KB Output is correct
51 Correct 4 ms 1780 KB Output is correct
52 Correct 4 ms 1780 KB Output is correct
53 Correct 6 ms 1912 KB Output is correct
54 Correct 4 ms 1912 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1912 KB Output is correct
2 Correct 4 ms 1912 KB Output is correct
3 Correct 3 ms 1912 KB Output is correct
4 Correct 2 ms 1912 KB Output is correct
5 Correct 2 ms 1912 KB Output is correct
6 Correct 3 ms 1912 KB Output is correct
7 Correct 2 ms 1912 KB Output is correct
8 Correct 2 ms 1912 KB Output is correct
9 Correct 2 ms 1912 KB Output is correct
10 Correct 3 ms 1912 KB Output is correct
11 Correct 3 ms 1912 KB Output is correct
12 Correct 2 ms 1912 KB Output is correct
13 Correct 3 ms 1912 KB Output is correct
14 Correct 4 ms 1912 KB Output is correct
15 Correct 4 ms 1912 KB Output is correct
16 Correct 2 ms 1912 KB Output is correct
17 Correct 3 ms 1912 KB Output is correct
18 Correct 2 ms 1912 KB Output is correct
19 Correct 2 ms 1912 KB Output is correct
20 Correct 3 ms 1912 KB Output is correct
21 Correct 3 ms 1912 KB Output is correct
22 Correct 3 ms 1912 KB Output is correct
23 Correct 3 ms 1912 KB Output is correct
24 Correct 3 ms 1912 KB Output is correct
25 Correct 4 ms 1912 KB Output is correct
26 Correct 4 ms 1912 KB Output is correct
27 Correct 4 ms 1912 KB Output is correct
28 Correct 3 ms 1912 KB Output is correct
29 Correct 3 ms 1912 KB Output is correct
30 Correct 3 ms 1912 KB Output is correct
31 Correct 3 ms 1912 KB Output is correct
32 Correct 3 ms 1912 KB Output is correct
33 Correct 3 ms 1912 KB Output is correct
34 Correct 4 ms 1972 KB Output is correct
35 Correct 5 ms 2240 KB Output is correct
36 Correct 4 ms 2240 KB Output is correct
37 Correct 4 ms 2240 KB Output is correct
38 Correct 5 ms 2240 KB Output is correct
39 Correct 4 ms 2240 KB Output is correct
40 Correct 4 ms 2240 KB Output is correct
41 Correct 4 ms 2240 KB Output is correct
42 Correct 4 ms 2240 KB Output is correct
43 Correct 5 ms 2240 KB Output is correct
44 Correct 3 ms 2240 KB Output is correct
45 Correct 6 ms 2376 KB Output is correct
46 Correct 6 ms 2376 KB Output is correct
47 Correct 5 ms 2440 KB Output is correct
48 Correct 5 ms 2440 KB Output is correct
49 Correct 5 ms 2440 KB Output is correct
50 Correct 5 ms 2440 KB Output is correct
51 Correct 5 ms 2440 KB Output is correct
52 Correct 4 ms 2440 KB Output is correct
53 Correct 6 ms 2440 KB Output is correct
54 Correct 5 ms 2464 KB Output is correct
55 Correct 95 ms 6840 KB Output is correct
56 Correct 58 ms 7812 KB Output is correct
57 Correct 58 ms 8788 KB Output is correct
58 Correct 59 ms 9764 KB Output is correct
59 Correct 59 ms 10740 KB Output is correct
60 Correct 71 ms 11688 KB Output is correct
61 Correct 57 ms 12692 KB Output is correct
62 Correct 75 ms 13700 KB Output is correct
63 Correct 71 ms 14644 KB Output is correct
64 Correct 72 ms 15620 KB Output is correct
65 Correct 74 ms 16612 KB Output is correct
66 Correct 75 ms 17588 KB Output is correct
67 Correct 83 ms 18512 KB Output is correct
68 Correct 78 ms 19508 KB Output is correct
69 Correct 73 ms 20532 KB Output is correct
70 Correct 76 ms 21524 KB Output is correct
71 Correct 71 ms 22504 KB Output is correct
72 Correct 54 ms 23476 KB Output is correct
73 Correct 54 ms 24452 KB Output is correct
74 Correct 74 ms 25428 KB Output is correct
75 Correct 89 ms 26404 KB Output is correct
76 Correct 194 ms 31256 KB Output is correct
77 Correct 175 ms 33472 KB Output is correct
78 Correct 169 ms 35780 KB Output is correct
79 Correct 230 ms 38060 KB Output is correct
80 Correct 163 ms 40352 KB Output is correct
81 Correct 142 ms 42612 KB Output is correct
82 Correct 272 ms 45036 KB Output is correct
83 Correct 151 ms 47188 KB Output is correct
84 Correct 158 ms 49448 KB Output is correct
85 Correct 339 ms 56224 KB Output is correct
86 Correct 334 ms 60216 KB Output is correct
87 Correct 351 ms 64296 KB Output is correct
88 Correct 331 ms 68300 KB Output is correct
89 Correct 305 ms 72284 KB Output is correct
90 Correct 265 ms 76272 KB Output is correct
91 Correct 306 ms 80324 KB Output is correct
92 Correct 295 ms 84304 KB Output is correct
93 Correct 279 ms 88452 KB Output is correct
94 Correct 625 ms 104120 KB Output is correct
95 Correct 768 ms 113456 KB Output is correct
96 Correct 644 ms 122844 KB Output is correct
97 Correct 622 ms 132228 KB Output is correct
98 Correct 636 ms 141600 KB Output is correct
99 Correct 590 ms 151292 KB Output is correct
100 Correct 659 ms 160328 KB Output is correct