题目
奶牛题
裸的欧拉回路板子
而且题目保证有解,直接爽歪歪
赤身裸(ke)体
#include<iostream>
#include<stack>
using namespace std;
int map[1500][1500];
int count[1500],o;
stack<int>s;
int f;
void dfs(int x)
{
for(int i=1;i<=o;i++)
if(map[x][i]||map[i][x])
{
map[x][i]--;
map[i][x]--;
dfs(i);
}
s.push(x);
return ;
}
int main()
{
cin.sync_with_stdio(false);
cin>>f;
int a,b;
for(int i=1;i<=f;i++)
{
cin>>a>>b;
map[a][b]++;
map[b][a]++;
count[a]++;
count[b]++;
o=max(o,a);
o=max(o,b);
}
int start=0;
for(int i=1;i<=o;i++)
{
if(count[i]&1)
{
start=i;
break;
}
}
if(!start)
for(int i=1;i<=o;i++)
if(count[i])
{
start=i;
break;
}
dfs(start);
while(!s.empty())
{
cout<<s.top()<<endl;
s.pop();
}
return 0;
}