QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#863454 | #9678. 网友小 Z 的树 | cooluo | 0 | 1ms | 10184kb | C++23 | 1.7kb | 2025-01-19 17:28:42 | 2025-01-19 17:28:43 |
Judging History
answer
#include <bits/stdc++.h>
#include "diameter.h"
using namespace std;
#define pii pair<int, int>
#define mkpr make_pair
#define vi vector<int>
#define all(c) (c).begin(), (c).end()
#define rep(i, l, r) for (int i(l), i##End(r); i <= i##End; i = -~i)
#define ti3 tuple<int, int, int>
int n, m;
map<ti3, int> mp;
int qry(int u, int v, int w) {
vi _({u, v, w}); sort(all(_));
u = _[0], v = _[1], w = _[2];
ti3 x(u, v, w);
if (mp.count(x)) return mp[x];
return mp[x] = query(u, v, w);
}
pii find_diameter(int task_id, int n) {
if (n <= 2) return mkpr(1, n);
int u = 1, v = 2, w = 3;
rep(i, 1, n) if (i != u && i != v && i != w)
if (qry(u, v, w) < qry(i, v, w)) u = i;
rep(i, 1, n) if (i != u && i != v && i != w)
if (qry(u, v, w) < qry(u, i, w)) v = i;
rep(i, 1, n) if (i != u && i != v && i != w)
if (qry(u, v, w) < qry(u, v, i)) w = i;
int x = 0;
rep(i, 1, n) if (i != u && i != v && i != w)
if (!x || qry(u, v, w) < qry(u, v, x)) x = w;
cout << u << ' ' << v << ' ' << w << endl;
if (!x) {
if (in(u, v, w)) return mkpr(v, w);
if (in(v, u, w)) return mkpr(u, w);
return mkpr(u, v);
}
if (in(x, u, w)) {
int a = qry(u, v, x), b = qry(u, w, x), c = qry(u, v, w) - (a >> 1) - (b >> 1);
int d = max({a, b, c});
if (d == a) return mkpr(u, v);
if (d == b) return mkpr(u, w);
return mkpr(v, w);
}
int a = qry(u, v, x), b = qry(v, w, x), c = qry(u, v, w) - (a >> 1) - (b >> 1);
int d = max({a, b, c});
if (d == a) return mkpr(u, v);
if (d == b) return mkpr(v, w);
return mkpr(u, w);
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 10184kb
input:
1 100 25 1 3 2 18 3 8 4 18 5 14 6 22 7 18 8 10 9 11 10 12 11 25 12 16 13 11 14 17 15 17 16 25 17 2 18 20 19 18 20 12 21 1 22 17 23 14 24 1 50 1 37 2 27 3 10 4 25 5 16 6 17 7 10 8 36 9 16 10 6 11 48 12 2 13 28 14 30 15 10 16 44 17 31 18 1 19 6 20 7 21 30 22 42 23 45 24 23 25 27 26 39 27 45 28 48 29 4...
output:
WA
result:
wrong answer Wrong Answer
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Skipped
Dependency #3:
0%
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #6:
0%
Subtask #8:
score: 0
Skipped
Dependency #7:
0%
Subtask #9:
score: 0
Skipped
Dependency #8:
0%
Subtask #10:
score: 0
Skipped
Dependency #9:
0%
Subtask #11:
score: 0
Skipped
Dependency #1:
0%