QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#833412#9911. 路南柯Daniel777100 ✓10ms3604kbC++141.4kb2024-12-26 18:46:002024-12-26 18:46:01

Judging History

你现在查看的是最新测评结果

  • [2024-12-26 18:46:01]
  • 评测
  • 测评结果:100
  • 用时:10ms
  • 内存:3604kb
  • [2024-12-26 18:46:00]
  • 提交

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!