| Task: | Distances |
| Sender: | mofk |
| Submission time: | 2021-01-30 17:28:53 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 29 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 29 |
| #2 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2 | details |
| #2 | WRONG ANSWER | 0.02 s | 2 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:45:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 1; i < ord.size(); ++i) {
~~^~~~~~~~~~~~
input/code.cpp:47:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j <= ans.size(); ++j) {
~~^~~~~~~~~~~~~
input/code.cpp:50:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (j < ans.size() && d[u][ans[j]] > 3) ok = false;
~~^~~~~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> g[105];
int d[105][105];
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int ntest;
cin >> ntest;
while (ntest--) {
cin >> n;
for (int i = 1; i <= n; ++i) g[i].clear();
for (int i = 1; i < n; ++i) {
int u, v;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
memset(d, -1, sizeof d);
for (int i = 1; i <= n; ++i) {
queue<int> q;
q.push(i);
d[i][i] = 0;
while (!q.empty()) {
int u = q.front(); q.pop();
for (auto v: g[u]) if (d[i][v] == -1) {
d[i][v] = d[i][u] + 1;
q.push(v);
}
}
}
vector<int> ord(n, 0);
iota(ord.begin(), ord.end(), 1);
sort(ord.begin(), ord.end(), [](int x, int y) {
return d[1][x] < d[1][y];
});
vector<int> ans;
ans.push_back(ord[0]);
for (int i = 1; i < ord.size(); ++i) {
int u = ord[i];
for (int j = 0; j <= ans.size(); ++j) {
bool ok = true;
if (j && d[u][ans[j - 1]] > 3) ok = false;
if (j < ans.size() && d[u][ans[j]] > 3) ok = false;
if (ok) {
ans.insert(ans.begin() + j, u);
break;
}
}
}
for (auto x: ans) cout << x << ' ';
cout << endl;
}
return 0;
}
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 100 8 5 2 2 3 3 7 ... |
| correct output |
|---|
| 1 8 2 5 6 7 3 4 1 7 2 8 3 6 4 5 1 4 6 2 7 5 8 3 1 8 3 2 4 7 6 5 1 6 4 7 5 2 3 8 ... |
| user output |
|---|
| 6 5 7 2 3 8 4 1 6 4 5 7 2 8 3 1 7 5 2 8 6 4 3 1 3 8 7 4 2 6 5 1 5 2 7 3 4 8 6 1 ... Truncated |
Test 2
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 37 59 81 37 44 81 ... |
| correct output |
|---|
| 1 99 82 81 59 5 71 55 17 24 13... |
| user output |
|---|
| 47 11 93 12 44 41 40 76 66 8 2... Truncated |
