Submission #1130072

#TimeUsernameProblemLanguageResultExecution timeMemory
1130072irmuunMake them Meet (EGOI24_makethemmeet)C++20
57 / 100
1 ms584 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n,m; cin>>n>>m; vector<int>g[n]; for(int i=0;i<m;i++){ int u,v; cin>>u>>v; g[u].pb(v); g[v].pb(u); } int r=-1; for(int i=0;i<n;i++){ if(g[i].size()==1){ r=i; break; } } if(r==-1) return 0; vector<int>d(n,-1),par(n,-1); function <void(int,int)> dfs=[&](int x,int p){ for(int y:g[x]){ if(d[y]==-1){ par[y]=x; d[y]=d[x]+1; dfs(y,x); } } }; d[r]=0; dfs(r,-1); vector<vector<int>>ans; vector<int>col(n); for(int i=0;i<2*n;i++){ if(i%2==0){ for(int j=0;j<n;j++){ if(d[j]%2==1){ col[j]=par[j]; } else{ col[j]=j; } } } else{ for(int j=0;j<n;j++){ if(d[j]%2==0&&j!=r){ col[j]=par[j]; } else{ col[j]=j; } } col[r]=g[r][0]; } ans.pb(col); } cout<<ans.size()<<"\n"; for(auto c:ans){ for(auto i:c){ cout<<i<<' '; } cout<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...