170862025-05-21 09:54:29999Pletykálkodáscpp17Hibás válasz 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;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Hibás válasz4ms316 KiB
subtask20/9
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Hibás válasz1ms316 KiB
subtask30/13
7Hibás válasz29ms980 KiB
8Hibás válasz28ms1004 KiB
9Hibás válasz28ms1076 KiB
subtask40/16
10Hibás válasz2ms508 KiB
11Hibás válasz2ms508 KiB
12Hibás válasz2ms316 KiB
subtask50/25
13Hibás válasz2ms316 KiB
14Hibás válasz2ms320 KiB
15Hibás válasz1ms316 KiB
16Hibás válasz2ms508 KiB
17Hibás válasz1ms316 KiB
18Hibás válasz1ms316 KiB
19Hibás válasz1ms316 KiB
subtask60/13
20Hibás válasz7ms316 KiB
21Hibás válasz7ms528 KiB
22Hibás válasz7ms316 KiB
23Hibás válasz6ms460 KiB
24Hibás válasz2ms316 KiB
25Hibás válasz6ms316 KiB
26Hibás válasz6ms508 KiB
subtask70/24
27Hibás válasz29ms980 KiB
28Hibás válasz28ms992 KiB
29Hibás válasz29ms1076 KiB
30Hibás válasz21ms820 KiB
31Hibás válasz20ms820 KiB
32Hibás válasz23ms960 KiB
33Hibás válasz23ms1012 KiB
34Hibás válasz24ms820 KiB
35Hibás válasz23ms820 KiB
36Hibás válasz24ms948 KiB
37Hibás válasz23ms788 KiB