| Task: | Distances |
| Sender: | jenkinsser |
| Submission time: | 2021-01-31 14:45:52 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 29 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 29 |
| #2 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2 | details |
| #2 | TIME LIMIT EXCEEDED | -- | 2 | details |
Code
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define st first
#define nd second
#define pii pair<int,int>
#define N 2000005
#define INF 1e9+5
#define sp " "
#define nl "\n"
#define all(x) x.begin(),x.end()
#define fastio() ios_base::sync_with_stdio(0);cin.tie(0);
#define fori(i,l,r) for(int i=l;i<=r;i++)
#define forf(i,r) fori(i,1,r)
#define rof(i,r,l) for(int i=r;i>=l;i--)
#define ll long long
#define int ll
using namespace std;
void solve(){
int n;
cin >> n;
vector<int> vec(n);
iota(vec.begin(),vec.end(),1);
vector<int> g[n+1];
int dist[n+1][n+1];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j)
dist[i][j]=0;
else
dist[i][j]=INF;
}
}
for(int i=1;i<n;i++){
int x,y;
cin >> x >> y;
dist[x][y]=1;
dist[y][x]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if(dist[i][j]>dist[i][k]+dist[k][j]){
dist[i][j]=dist[i][k]+dist[k][j];
dist[j][i]=dist[i][j];
}
}
}
}
do{
bool flag=true;
for(int i=0;i<n-1;i++){
if(dist[vec[i]][vec[i+1]]>3){
flag=false;
}
}
if(flag){
for(int i:vec)
cout << i << sp;
cout << nl;
return;
}
}while(next_permutation(vec.begin(),vec.end()));
cout << -1 << nl;
}
int32_t main(){
fastio()
int t=1;
cin >> t;
while(t--){
solve();
}
}
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 |
|---|
| 1 3 2 4 7 5 6 8 1 3 2 8 7 5 4 6 1 3 2 5 7 8 6 4 1 2 3 4 5 6 7 8 1 3 2 4 6 8 7 5 ... Truncated |
Test 2
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 100 37 59 81 37 44 81 ... |
| correct output |
|---|
| 1 99 82 81 59 5 71 55 17 24 13... |
| user output |
|---|
| (empty) |
