输出怎么了?awa
查看原帖
输出怎么了?awa
476684
koukis楼主2021/10/16 16:37
#include<iostream>
using namespace std;

int g[1005][1005];
int du[1005];
int m;
int n=0;
int bgin=1;

int path[1005];
int length;
void dfs(int v)
{
	for(int i=1;i<=n;i++)
	{
		if(g[v][i]>0)
			g[v][i]--;g[i][v]--;
	}
	path[length++]=v;
}
int main()
{
	cin>>m;//m表示边的个数
	for(int i=1;i<=m;i++)
	{
		int x;
		int y;
		cin>>x>>y;
		if(i==1)
			bgin=x;
		g[x][y]++;
		g[y][x]++;
		du[x]++;
		du[y]++;
		bgin=min(bgin,min(x,y));
		n=max(n,max(x,y));
	} 
	int start=bgin;
	for(int i=bgin;i<=n;i++)
	{
		if(du[i]%2==1)
		{
			start=i;
			break;
		}
	}
	dfs(start);
	for(int i=length-1;i>=0;i--)
	{ 
		cout<<path[i]<<endl;
	}
	return 0;
}
2021/10/16 16:37
加载中...