玄关求助
查看原帖
玄关求助
1571162
封禁用户楼主2025/7/23 16:57
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define uint unsigned long long
#define speed ios::sync_with_stdio(0),cin.tie(0), cout.tie(0);
int G[2001][2001], du[2001];
int n,m;
stack<int> S;
void dfs(int u){
	for(int v=1; v<=n; v++)
		if(G[u][v]){
			G[u][v]--;
			G[v][u]--;
			dfs(v);    
		}
	S.push(u);
}
signed main(){
	cin>>m;
	int u,v;
	for(int i=1; i<=m; i++){
		cin>>u>>v;
		n = max(n,u);
		n = max(n,v); 
		G[u][v]++;
		G[v][u]++;
		du[u]++;
		du[v]++;
	}
	int s = 1;
	for(int i=1; i<=n; i++)
		if(du[i]%2==1) {	
			s=i;
			break;
		}
	dfs(s);
	while(!S.empty()){
		cout<<S.top()<<'\n';
		S.pop();
	}
	return 0;
}
2025/7/23 16:57
加载中...