【图论|欧拉回路】玄关求调P2731
  • 板块学术版
  • 楼主czy20080428
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/26 13:35
  • 上次更新2024/4/26 13:47:52
查看原帖
【图论|欧拉回路】玄关求调P2731
1217367
czy20080428楼主2024/4/26 13:35

https://www.luogu.com.cn/record/157074874

#include<bits/stdc++.h>
#define N 3000
#define reg register 
using namespace std;
int a[N][N];
stack<int>stk;
int s[N];
int n;
int b,c;
int t;
void dfs(int y)
{
	for(reg int j=1;j<=n;j++)
	{
		if(a[y][j]==1)
		{
			a[y][j]=a[j][y]=0;
			dfs(j);
		}
	}
	stk.push(y);
}
int maxx=0;
signed main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>n;
	for(reg int i=1;i<=n;i++)
	{
		cin>>b>>c;
		maxx=max(maxx,max(b,c));
		a[b][c]=a[c][b]=1;
		s[b]++;
		s[c]++;
	}
	int flag=1;
	for(reg int i=1;i<=N;i++)
	{
		if(s[i]%2==1)
		{
			flag=i;
			break;
		}
	}
	dfs(flag);
	while(!stk.empty())
	{
		cout<<stk.top()<<"\n";
		stk.pop();
	}
	return 0;
} 
2024/4/26 13:35
加载中...