#include "meetings.h"
#include<bits/stdc++.h>
using namespace std;
#define ii pair <int, int>
#define app push_back
#define all(a) a.begin(), a.end()
#define bp __builtin_popcountll
#define ll long long
#define mp make_pair
#define f first
#define s second
#define Time (double)clock()/CLOCKS_PER_SEC
#define debug(x) std::cout << #x << ": " << x << '\n';
const int N = 2007;
int par[N];
int link[N];
int mem[N][N];
int Query(int u, int v) {
if (mem[u][v] != -1)
return mem[u][v];
return mem[u][v] = mem[v][u] = Query(0, u, v);
}
bool used[N];
void Solve(int n) {
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
mem[i][j] = -1;
for (int i = 1; i < n; ++i)
par[i] = -1;
queue <int> q;
q.push(0);
while (q.size()) {
int u = q.front(); q.pop();
used[u] = 1;
auto check = [&](int v) {
for (int i = 0; i < n; ++i) {
if (mem[i][v] == i && !used[i])
return 0;
}
return 1;
};
vector <int> cur;
for (int v = 0; v < n; ++v) {
if (par[v] == -1 && link[u] == link[v]/* && check(v)*/) {
vector <bool> del(cur.size());
bool ban = 0;
for (int i = 0; i < cur.size(); ++i) {
int x = Query(v, cur[i]);
if (x == v) {
del[i] = 1;
link[cur[i]] = v;
continue;
}
if (x == cur[i]) {
link[v] = cur[i];
ban = 1;
break;
}
}
if (!ban) {
vector <int> a = {v};
link[v] = v;
for (int i = 0; i < cur.size(); ++i) {
if (!del[i])
a.app(cur[i]);
}
cur = a;
}
}
}
for (int i = 0; i < n; ++i)
while (link[link[i]] != link[i])
link[i] = link[link[i]];
/*
cout << "link : ";
for (int i = 0; i < n; ++i)
cout << link[i] << ' ';
cout << endl;
*/
for (int v : cur) {
par[v] = u;
q.push(v);
}
}
for (int i = 1; i < n; ++i) {
int u = i;
int v = par[i];
if (v < u)
swap(u, v);
#ifdef HOME
//cout << "edge " << u << ' ' << v << endl;
#endif
Bridge(u,v);
}
}
Compilation message
meetings.cpp: In function 'void Solve(int)':
meetings.cpp:56:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < cur.size(); ++i) {
~~^~~~~~~~~~~~
meetings.cpp:72:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < cur.size(); ++i) {
~~^~~~~~~~~~~~
meetings.cpp:43:14: warning: variable 'check' set but not used [-Wunused-but-set-variable]
auto check = [&](int v) {
^~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
17 ms |
16128 KB |
Output is correct |
2 |
Correct |
13 ms |
16128 KB |
Output is correct |
3 |
Correct |
13 ms |
16068 KB |
Output is correct |
4 |
Correct |
13 ms |
16128 KB |
Output is correct |
5 |
Correct |
13 ms |
16128 KB |
Output is correct |
6 |
Correct |
14 ms |
16128 KB |
Output is correct |
7 |
Correct |
14 ms |
16128 KB |
Output is correct |
8 |
Correct |
13 ms |
16128 KB |
Output is correct |
9 |
Correct |
13 ms |
16128 KB |
Output is correct |
10 |
Correct |
13 ms |
16128 KB |
Output is correct |
11 |
Correct |
14 ms |
16128 KB |
Output is correct |
12 |
Correct |
14 ms |
16128 KB |
Output is correct |
13 |
Correct |
14 ms |
16128 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
17 ms |
16128 KB |
Output is correct |
2 |
Correct |
13 ms |
16128 KB |
Output is correct |
3 |
Correct |
13 ms |
16068 KB |
Output is correct |
4 |
Correct |
13 ms |
16128 KB |
Output is correct |
5 |
Correct |
13 ms |
16128 KB |
Output is correct |
6 |
Correct |
14 ms |
16128 KB |
Output is correct |
7 |
Correct |
14 ms |
16128 KB |
Output is correct |
8 |
Correct |
13 ms |
16128 KB |
Output is correct |
9 |
Correct |
13 ms |
16128 KB |
Output is correct |
10 |
Correct |
13 ms |
16128 KB |
Output is correct |
11 |
Correct |
14 ms |
16128 KB |
Output is correct |
12 |
Correct |
14 ms |
16128 KB |
Output is correct |
13 |
Correct |
14 ms |
16128 KB |
Output is correct |
14 |
Correct |
14 ms |
16128 KB |
Output is correct |
15 |
Correct |
13 ms |
16128 KB |
Output is correct |
16 |
Correct |
15 ms |
16128 KB |
Output is correct |
17 |
Correct |
13 ms |
16128 KB |
Output is correct |
18 |
Correct |
13 ms |
16128 KB |
Output is correct |
19 |
Correct |
14 ms |
16128 KB |
Output is correct |
20 |
Correct |
13 ms |
16128 KB |
Output is correct |
21 |
Correct |
13 ms |
16128 KB |
Output is correct |
22 |
Correct |
14 ms |
16128 KB |
Output is correct |
23 |
Correct |
13 ms |
16128 KB |
Output is correct |
24 |
Correct |
14 ms |
16128 KB |
Output is correct |
25 |
Correct |
15 ms |
16128 KB |
Output is correct |
26 |
Correct |
14 ms |
16128 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
17 ms |
16128 KB |
Output is correct |
2 |
Correct |
13 ms |
16128 KB |
Output is correct |
3 |
Correct |
13 ms |
16068 KB |
Output is correct |
4 |
Correct |
13 ms |
16128 KB |
Output is correct |
5 |
Correct |
13 ms |
16128 KB |
Output is correct |
6 |
Correct |
14 ms |
16128 KB |
Output is correct |
7 |
Correct |
14 ms |
16128 KB |
Output is correct |
8 |
Correct |
13 ms |
16128 KB |
Output is correct |
9 |
Correct |
13 ms |
16128 KB |
Output is correct |
10 |
Correct |
13 ms |
16128 KB |
Output is correct |
11 |
Correct |
14 ms |
16128 KB |
Output is correct |
12 |
Correct |
14 ms |
16128 KB |
Output is correct |
13 |
Correct |
14 ms |
16128 KB |
Output is correct |
14 |
Correct |
14 ms |
16128 KB |
Output is correct |
15 |
Correct |
13 ms |
16128 KB |
Output is correct |
16 |
Correct |
15 ms |
16128 KB |
Output is correct |
17 |
Correct |
13 ms |
16128 KB |
Output is correct |
18 |
Correct |
13 ms |
16128 KB |
Output is correct |
19 |
Correct |
14 ms |
16128 KB |
Output is correct |
20 |
Correct |
13 ms |
16128 KB |
Output is correct |
21 |
Correct |
13 ms |
16128 KB |
Output is correct |
22 |
Correct |
14 ms |
16128 KB |
Output is correct |
23 |
Correct |
13 ms |
16128 KB |
Output is correct |
24 |
Correct |
14 ms |
16128 KB |
Output is correct |
25 |
Correct |
15 ms |
16128 KB |
Output is correct |
26 |
Correct |
14 ms |
16128 KB |
Output is correct |
27 |
Correct |
41 ms |
16256 KB |
Output is correct |
28 |
Correct |
37 ms |
16128 KB |
Output is correct |
29 |
Correct |
35 ms |
16128 KB |
Output is correct |
30 |
Correct |
39 ms |
16128 KB |
Output is correct |
31 |
Correct |
33 ms |
16256 KB |
Output is correct |
32 |
Correct |
66 ms |
16128 KB |
Output is correct |
33 |
Correct |
54 ms |
16128 KB |
Output is correct |
34 |
Correct |
67 ms |
16248 KB |
Output is correct |
35 |
Correct |
61 ms |
16256 KB |
Output is correct |
36 |
Correct |
27 ms |
16256 KB |
Output is correct |
37 |
Correct |
63 ms |
16248 KB |
Output is correct |
38 |
Correct |
88 ms |
16256 KB |
Output is correct |
39 |
Correct |
242 ms |
16248 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
3075 ms |
16384 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |