QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#878703#9911. 路南柯Chenly100 ✓7ms4096kbC++201.5kb2025-02-01 16:56:492025-02-01 16:56:54

Judging History

This is the latest submission verdict.

  • [2025-02-01 16:56:54]
  • Judged
  • Verdict: 100
  • Time: 7ms
  • Memory: 4096kb
  • [2025-02-01 16:56:49]
  • Submitted

answer

// #define NDEBUG
#include<bits/stdc++.h>
#define For(i,j,k) for(int i=(j);i<=(k);i++)
#define ForD(i,j,k) for(int i=(j);i>=(k);i--)
#define int long long
#define endl '\n'
using namespace std;
bool Mbe;
const int N=105;
vector<int> E[N],S[N];
#define pb push_back
int tot,tim,deg[N],ans[N][N];
bool lf[N];
void dfs(int u,int fa){
    if(lf[u]==1) return;
    ans[tot][++tim]=u;
    for(int v:S[u]) ans[tot][++tim]=v;
    reverse(S[u].begin(),S[u].end());
    for(int v:E[u]) if(v!=fa) dfs(v,u);
}
void solve(){
    int n; cin>>n; tot=0;
    For(i,1,n) E[i].clear(),S[i].clear();
    For(i,1,n) lf[i]=0,deg[i]=0;
    For(i,1,n-1){
        int u,v; cin>>u>>v;
        E[u].pb(v),E[v].pb(u);
        ++deg[u],++deg[v];
    }
    For(u,1,n) if((int)E[u].size()==1){
        for(int v:E[u]) deg[v]--,S[v].pb(u);
        lf[u]=1;
    }
    For(i,1,n) if(!lf[i]&&deg[i]==1){
        ++tot; tim=0;
        dfs(i,0);
    }
    if(tot==1){
        For(i,1,n) if(!lf[i]&&deg[i]==1){
            ++tot; tim=0;
            dfs(i,0);
        }
    }
    cout<<tot<<endl;
    For(i,1,tot){
        ForD(j,n,1) cout<<ans[i][j]<<' ';
        cout<<endl;
    }
}
bool Med;
signed main(){
    fprintf(stderr,"%.3lf MB\n",(&Mbe-&Med)/1048576.0);
    // freopen("1.in","r",stdin), freopen("1.out","w",stdout);
    ios::sync_with_stdio(false); cin.tie(0),cout.tie(0);
    int _=1;
    cin>>_;
    while(_--) solve();
    cerr<<1e3*clock()/CLOCKS_PER_SEC<<" ms\n";
    return 0;
}

詳細信息

Subtask #1:

score: 20
Accepted

Test #1:

score: 20
Accepted
time: 1ms
memory: 4096kb

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
7 3 10 2 4 6 8 9 5 1 
7 3 5 9 1 8 6 4 10 2 
9 5 1 8 6 10 2 4 7 3 
2
10 7 9 8 2 6 5 4 1 3 
1 4 5 6 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 10 8 6 9 5 3 7 1 
7 1 5 3 9 8 10 6 4 2 
3
5 7 10 4 2 8 1 9 6 3 
5 7 6 3 9 1 8 2 10 4 
6 3 9 1 10 4 2 8 5 7 
2
6 4 5 10 7 1 3 9 8 2 
8 ...

result:

ok Answer correct!

Subtask #2:

score: 80
Accepted

Test #2:

score: 80
Accepted
time: 7ms
memory: 3968kb

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
17 36 1 13 12 85 56 96 74 32 18 11 99 55 58 8 70 86 46 83 30 41 50 33 81 21 80 87 15 82 57 9 61 19 90 63 62 97 31 52 71 2 48 54 78 67 16 35 93 20 26 91 76 88 40 37 84 92 64 66 39 24 6 47 45 79 98 43 100 59 7 27 72 89 42 73 69 60 34 23 14 3 29 68 44 22 51 38 65 95 94 28 25 77 49 5 53 75 10 4 
8 58...

result:

ok Answer correct!