# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
233502 |
2020-05-20T18:34:21 Z |
DS007 |
Library (JOI18_library) |
C++14 |
|
455 ms |
664 KB |
#include <bits/stdc++.h>
using namespace std;
#include "library.h"
const int N = 1000;
vector<int> adj[N];
vector<int> m, pos, res;
vector<pair<int, bool>> v;
bool isEnd[N];
int n_;
void dfs(int v, int p = -1) {
res.push_back(v + 1);
for (int i : adj[v]) {
if (i != p)
dfs(i, v);
}
}
int get() {
int ans = 0;
for (int i = 0; i < n_; i++) {
if (adj[i].size() == 1 && !isEnd[i])
ans = i;
}
return ans;
}
int find(int num, int l, int r) {
if (l == r) {
m[num] = 1;
m[pos[l]] = 1;
if (Query(m) == 1)
return pos[l];
else
return -1;
}
int mid = (l + r) / 2;
for (int i = l; i <= mid; i++)
m[pos[i]] = 1;
m[num] = 1;
int a1 = Query(m);
m[num] = 0;
int a2 = Query(m);
for (int i = l; i <= mid; i++)
m[pos[i]] = 0;
if (a2 < a1)
return find(num, mid + 1, r);
else
return find(num, l, mid);
}
void Solve(int n) {
n_ = n;
m.resize(n, 0);
for (int i = 0; i < n; i++)
v.emplace_back(i, true);
for (int i = 0; i < n - 1;) {
int num = get();
assert(num < n);
pos.clear();
for (auto j : v) {
if (j.second && j.first != num)
pos.push_back(j.first);
}
fill(m.begin(), m.end(), 0);
int ans = find(num, 0, (int)pos.size() - 1);
assert(ans < n);
if (ans != -1)
adj[num].push_back(ans), adj[ans].push_back(num), i++;
else
isEnd[num] = true;
v[num].second = false;
v[ans].second = false;
}
int end1 = -1;
for (int i = 0; i < n; i++) {
if (isEnd[i] || adj[i].size() == 1)
end1 = i;
}
dfs(end1);
for (int i : res)
assert(i <= n);
Answer(res);
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
34 ms |
512 KB |
# of queries: 2588 |
2 |
Correct |
42 ms |
404 KB |
# of queries: 2585 |
3 |
Correct |
43 ms |
384 KB |
# of queries: 2694 |
4 |
Correct |
42 ms |
384 KB |
# of queries: 2710 |
5 |
Correct |
42 ms |
384 KB |
# of queries: 2712 |
6 |
Correct |
42 ms |
504 KB |
# of queries: 2724 |
7 |
Correct |
43 ms |
384 KB |
# of queries: 2736 |
8 |
Correct |
37 ms |
408 KB |
# of queries: 2581 |
9 |
Correct |
45 ms |
384 KB |
# of queries: 2703 |
10 |
Correct |
19 ms |
392 KB |
# of queries: 1593 |
11 |
Incorrect |
4 ms |
384 KB |
Wrong Answer [5] |
12 |
Correct |
4 ms |
384 KB |
# of queries: 1 |
13 |
Correct |
4 ms |
384 KB |
# of queries: 5 |
14 |
Correct |
5 ms |
384 KB |
# of queries: 9 |
15 |
Correct |
6 ms |
384 KB |
# of queries: 86 |
16 |
Correct |
7 ms |
384 KB |
# of queries: 213 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
34 ms |
512 KB |
# of queries: 2588 |
2 |
Correct |
42 ms |
404 KB |
# of queries: 2585 |
3 |
Correct |
43 ms |
384 KB |
# of queries: 2694 |
4 |
Correct |
42 ms |
384 KB |
# of queries: 2710 |
5 |
Correct |
42 ms |
384 KB |
# of queries: 2712 |
6 |
Correct |
42 ms |
504 KB |
# of queries: 2724 |
7 |
Correct |
43 ms |
384 KB |
# of queries: 2736 |
8 |
Correct |
37 ms |
408 KB |
# of queries: 2581 |
9 |
Correct |
45 ms |
384 KB |
# of queries: 2703 |
10 |
Correct |
19 ms |
392 KB |
# of queries: 1593 |
11 |
Incorrect |
4 ms |
384 KB |
Wrong Answer [5] |
12 |
Correct |
4 ms |
384 KB |
# of queries: 1 |
13 |
Correct |
4 ms |
384 KB |
# of queries: 5 |
14 |
Correct |
5 ms |
384 KB |
# of queries: 9 |
15 |
Correct |
6 ms |
384 KB |
# of queries: 86 |
16 |
Correct |
7 ms |
384 KB |
# of queries: 213 |
17 |
Correct |
431 ms |
580 KB |
# of queries: 18202 |
18 |
Correct |
429 ms |
504 KB |
# of queries: 17903 |
19 |
Correct |
437 ms |
504 KB |
# of queries: 18178 |
20 |
Correct |
397 ms |
504 KB |
# of queries: 16934 |
21 |
Correct |
369 ms |
504 KB |
# of queries: 15985 |
22 |
Correct |
431 ms |
664 KB |
# of queries: 18156 |
23 |
Correct |
426 ms |
632 KB |
# of queries: 18129 |
24 |
Correct |
160 ms |
404 KB |
# of queries: 8317 |
25 |
Correct |
422 ms |
428 KB |
# of queries: 17719 |
26 |
Correct |
372 ms |
548 KB |
# of queries: 16553 |
27 |
Correct |
160 ms |
384 KB |
# of queries: 8279 |
28 |
Correct |
449 ms |
636 KB |
# of queries: 18933 |
29 |
Correct |
448 ms |
632 KB |
# of queries: 18912 |
30 |
Correct |
455 ms |
632 KB |
# of queries: 18933 |