170862025-05-21 09:54:29999Pletykálkodáscpp17Wrong answer 0/10029ms1076 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

void dfs(int node, int parent, vector<pair<int,int>>& ans, vector<int>& vis, vector<vector<int>>& v){
    vis[node]=1;
    for(int i : v[node]){
        if(vis[i])continue;
        dfs(i,node,ans,vis,v);
    }
    if(parent!=-1)ans.push_back({node,parent});
}

int main() {
    int n,m;cin>>n>>m;
    vector<vector<int>> v(n);
    for(int i = 0;i<n;i++){
        int a,b;cin>>a>>b;
        v[--a].push_back(--b);
        v[b].push_back(a);
    }
    vector<pair<int,int>> ans;
    vector<int> vis(n);
    dfs(0,-1,ans,vis,v);
    pair<int,int> lp;
    cout<<ans.size()*2-1<<endl;
    for(auto [a,b]:ans){
        cout<<a+1<<' '<<b+1<<endl;
        lp={a,b};
    }
    reverse(ans.begin(),ans.end());
    for(auto [a,b]:ans){
        if(make_pair(a,b)==lp)continue;
        cout<<a+1<<' '<<b+1<<endl;
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
3Wrong answer4ms316 KiB
subtask20/9
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Wrong answer1ms316 KiB
subtask30/13
7Wrong answer29ms980 KiB
8Wrong answer28ms1004 KiB
9Wrong answer28ms1076 KiB
subtask40/16
10Wrong answer2ms508 KiB
11Wrong answer2ms508 KiB
12Wrong answer2ms316 KiB
subtask50/25
13Wrong answer2ms316 KiB
14Wrong answer2ms320 KiB
15Wrong answer1ms316 KiB
16Wrong answer2ms508 KiB
17Wrong answer1ms316 KiB
18Wrong answer1ms316 KiB
19Wrong answer1ms316 KiB
subtask60/13
20Wrong answer7ms316 KiB
21Wrong answer7ms528 KiB
22Wrong answer7ms316 KiB
23Wrong answer6ms460 KiB
24Wrong answer2ms316 KiB
25Wrong answer6ms316 KiB
26Wrong answer6ms508 KiB
subtask70/24
27Wrong answer29ms980 KiB
28Wrong answer28ms992 KiB
29Wrong answer29ms1076 KiB
30Wrong answer21ms820 KiB
31Wrong answer20ms820 KiB
32Wrong answer23ms960 KiB
33Wrong answer23ms1012 KiB
34Wrong answer24ms820 KiB
35Wrong answer23ms820 KiB
36Wrong answer24ms948 KiB
37Wrong answer23ms788 KiB