이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
#define int long long
bool vis[500001];
vector<pair<int,int> >adj[500001];
int sz[500001];
int tmp;
void solve(int cur){
for(auto r : adj[cur]){
if(tmp!=r.first && vis[r.second]==false){
cout<<r.first<<" ";
sz[cur]--;
sz[r.first]--;
vis[r.second]=true;
solve(r.first);
break;
}
else if(vis[r.second]==false &&tmp==r.first){
// cout<<tmp<<endl;
sz[cur]--;
sz[tmp]--;
vis[r.second]=true;
break;
}
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,m;
cin>>n>>m;
int cnt=0;
for(int q=1;q<=m;q++){
cnt++;
int u,v;
cin>>u>>v;
adj[u].push_back({v,cnt});
adj[v].push_back({u,cnt});
sz[u]++;
sz[v]++;
}
for(int q=1;q<=n;q++){
if(sz[q]!=0){
// cout<<sz[q]<<endl;
tmp=q;
cout<<q<<" ";
solve(q);
cout<<endl;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |