88分,WA一个点
查看原帖
88分,WA一个点
942376
ltcy123456楼主2023/7/18 10:27
#include<bits/stdc++.h>
using namespace std;
int n,maxn,b=10000,f[1025][1025];
int p[1025],d[1025],start,num;
void dfs(int i){
	for(int j=b;j<=maxn;j++)
		if(f[i][j]){
			f[i][j]--;
			f[j][i]--;
			dfs(j);
		}
	p[++num]=i;
}
int main(){
	cin >> n;
	for(int i=0;i<n;i++){
		int x,y; cin >> x >> y;
		f[x][y]++;
		f[y][x]++;
		d[x]++; d[y]++;
		b=min(min(x,y),b);
		maxn=max(max(x,y),maxn);
	}
	for(int i=b;i<=maxn;i++)
		if(d[i]%2){
			start=i; break; 
		}
	dfs(start);
	for(int i=num;i>=1;i--)
		cout << p[i] << endl; 
	return 0;
}
2023/7/18 10:27
加载中...