QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#259417#5088. Two ChoreographiesNYCU_CartesianTree#WA 1ms6064kbC++201.4kb2023-11-20 21:49:422023-11-20 21:49:43

Judging History

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

  • [2023-11-20 21:49:43]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:6064kb
  • [2023-11-20 21:49:42]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

#define F first 
#define S second 
#define pb push_back
#define int long long


vector<int>node[100005];
bool vis[100005];
vector<int>now;
map<int,vector<int>>ans;
vector<int>t1,t2;
int tot=0;

void dfs(int v,int pre,int dd){
    vis[v]=1;
    now.pb(v);
    tot++;
    for(int ii:node[v]){
        if(!vis[ii]){
            dfs(ii,v,dd+1);
        }
        else{
            if(ans.count(dd)){
                t1=ans[dd];
                t2=now;
                vector<int>t3=t2;
                reverse(t3.begin()+1,t3.end());
                if(t3==t1||t1==t2) {
                    t1.clear(),t2.clear();
                    continue;
                }
                return;
            }
            else ans[dd]=now;
        }
        if(t1.size()) return;
    }
    now.pop_back();
    vis[v]=0;
}

void solve(){
    int n;
    cin>>n;
    for(int i=1;i<=n*2-3;i++){
        int g,h;
        cin>>g>>h;
        node[g].pb(h);
        node[h].pb(g);
    }

    for(int i=1;i<=n;i++){
        dfs(i,i,0);   
        if(t1.size()){
            cout<<t1.size()<<"\n";
            for(int ii:t1) cout<<ii<<" ";cout<<"\n";
            for(int ii:t2) cout<<ii<<" ";cout<<"\n";
            return;
        }
        ans.clear();
    }

}

signed main(){
    ios::sync_with_stdio(0);cin.tie(0);
    solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 6064kb

input:

4
1 2
1 3
1 4
2 3
2 4

output:

3
1 2 3 
1 2 4 

result:

ok 

Test #2:

score: 0
Accepted
time: 0ms
memory: 5940kb

input:

5
1 2
1 3
1 4
1 5
2 3
2 5
3 4

output:

3
1 2 3 
1 2 5 

result:

ok 

Test #3:

score: 0
Accepted
time: 1ms
memory: 6016kb

input:

7
1 2
3 4
5 6
5 2
3 1
6 1
4 2
4 5
2 6
3 6
1 5

output:

5
1 2 5 6 3 
1 2 5 4 3 

result:

ok 

Test #4:

score: -100
Wrong Answer
time: 1ms
memory: 6060kb

input:

40
1 16
1 40
2 4
2 16
2 36
3 25
3 38
4 1
4 13
5 11
5 27
6 4
7 5
7 11
8 10
8 14
8 24
9 34
10 20
12 35
13 2
14 10
14 20
15 18
15 28
15 31
16 6
16 13
17 5
17 11
17 27
18 9
19 1
19 4
19 16
20 24
21 12
21 33
21 35
22 38
23 12
23 21
25 28
25 31
25 34
25 38
26 14
26 20
27 7
27 11
28 3
28 31
29 16
29 19
30 ...

output:

5
1 16 2 4 13 
1 16 2 4 6 

result:

wrong answer Wrong output - Nonexisting edge.