Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define fi first
- #define se second
- #define vi_a vector<int>a;
- #define p_b push_back
- #define ll long long
- #define ld long double
- #define pll pair<long long,bool>
- #define pii pair<int,int>
- #define m_p make_pair
- #define fast_io cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(0);
- #define all(x) x.begin(),x.end()
- #define sset ordered_set
- #define sqr(x) (x)*(x)
- #define pw(x) (1ll << x)
- #define sz(x) (int)x.size()
- #define endl "\n"
- using namespace std;
- vector<vector<ll>>a(0,vector<ll>(0));
- vector<bool>used;
- vector<pll>order(0);
- void dfs(ll v){
- used[v]=1;
- for(ll &z : a[v]){
- if(!used[z]){
- cout<<z+1<<" "<<v+1<<endl;
- order.push_back(m_p(z,v));
- cout<<order.back().fi+1<<" "<<order.back().se+1<<endl;
- dfs(z);
- }
- }
- }
- int main()
- {
- fast_io;
- ll n,m;
- cin>>n>>m;
- a.resize(n);
- used.assign(n,0);
- ll v,u;
- for(ll i=0;i<m;i++){
- cin>>v>>u;
- v--;u--;
- a[v].p_b(u);
- a[u].p_b(v);
- }
- for(ll i=0;i<n;i++){
- if(!used[i]){
- dfs(i);
- break;
- }
- }
- cout<<endl;
- for(ll i=0;i<order.size();i++){
- cout<<order[i].fi<<" "<<order[i].se<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement