QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#833412 | #9911. 路南柯 | Daniel777 | 100 ✓ | 10ms | 3604kb | C++14 | 1.4kb | 2024-12-26 18:46:00 | 2024-12-26 18:46:01 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N = 105;
vector<int>son[N];
vector<int>tr[N];
int n;
int de[N],lf[N];
int cnt;
void dfs(int u,int fa)
{
for(auto v:tr[u]) if(v != fa && !lf[v]) dfs(v,u);
for(auto v:son[u]) dfs(v,u);
cout<<u<<" ";
}
void solve()
{
cin>>n;cnt = 0;
for(int i = 1;i <= n;i++) son[i].clear(),tr[i].clear();
for(int i = 1,u,v;i < n;i++)
{
cin>>u>>v;
tr[u].push_back(v),tr[v].push_back(u);
}
for(int i = 1;i <= n;i++)
{
de[i] = tr[i].size();
if(de[i] == n-1)
{
cout<<"2\n";
for(int j = 1;j <= n;j++) if(i != j) cout<<j<<" ";
cout<<i<<"\n";
for(int j = n;j;j--) if(i != j) cout<<j<<" ";
cout<<i<<"\n";
return ;
}
}
for(int i = 1;i <= n;i++)
{
if(tr[i].size() == 1) de[tr[i][0]]--,lf[i] = 1,son[tr[i][0]].push_back(i);
else lf[i] = 0;
}
for(int i = 1;i <= n;i++) if(de[i] == 1 && !lf[i]) cnt++;
cout<<cnt<<"\n";
for(int i = 1;i <= n;i++)
if(de[i] == 1 && !lf[i])
{
dfs(i,0);
cout<<"\n";
for(int j = 1;j <= n;j++) reverse(son[j].begin(),son[j].end());
}
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
int T;cin>>T;
while(T--) solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 20
Accepted
Test #1:
score: 20
Accepted
time: 1ms
memory: 3592kb
input:
10 10 4 2 5 1 8 6 1 9 3 7 1 8 10 2 6 4 3 4 10 4 3 3 1 5 3 6 3 2 3 8 7 8 2 7 10 8 9 10 5 4 10 8 10 3 6 3 9 8 1 10 4 2 2 7 8 4 10 10 6 6 8 1 7 2 6 3 5 3 9 4 2 6 9 3 1 10 2 8 10 4 9 1 9 3 5 7 6 3 1 8 8 7 4 2 10 9 2 9 1 7 1 5 6 8 2 3 9 5 10 5 4 1 10 10 2 9 8 1 8 5 6 3 7 1 6 2 9 8 2 10 4 2 10 5 7 6 2 8 7...
output:
3 10 2 7 3 4 6 8 5 9 1 9 5 1 8 6 7 3 4 10 2 10 2 5 9 1 8 6 4 7 3 2 10 7 9 8 2 1 4 5 6 3 6 5 4 1 3 2 9 8 10 7 2 6 3 1 10 9 8 5 4 7 2 7 2 5 4 9 8 1 10 6 3 2 4 2 8 10 6 9 5 3 7 1 7 1 5 3 9 10 8 6 4 2 3 10 4 2 5 7 8 1 9 6 3 6 3 9 1 5 7 8 2 10 4 10 4 2 6 3 9 1 8 5 7 2 4 6 5 10 7 1 3 9 8 2 8 ...
result:
ok Answer correct!
Subtask #2:
score: 80
Accepted
Test #2:
score: 80
Accepted
time: 10ms
memory: 3604kb
input:
100 100 90 19 79 98 23 34 50 41 31 52 61 19 50 30 49 5 95 65 22 44 72 89 49 77 27 7 48 2 28 25 56 12 97 63 98 43 10 4 50 33 12 13 54 16 100 43 23 69 53 5 56 85 39 6 64 92 100 59 2 71 44 29 59 97 64 39 75 53 59 89 16 35 67 16 6 43 38 51 36 22 58 70 3 29 9 61 99 11 49 95 27 72 73 89 23 3 14 3 61 57 26...
output:
15 94 28 25 77 51 38 65 95 49 7 27 72 47 45 79 98 76 91 88 40 37 84 20 26 92 64 66 39 31 52 71 2 48 54 67 78 16 35 93 24 6 43 100 62 63 97 59 89 82 57 9 61 19 90 42 73 69 80 87 15 34 60 23 81 21 14 3 8 58 70 1 13 12 85 56 96 74 32 18 11 99 55 86 46 83 30 41 50 33 29 68 44 17 36 22 5 53 75 10 4 17 3...
result:
ok Answer correct!