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 |