wf1594937223 @ 2017-05-04 14:02:29
# include <stdio.h>
# include <algorithm>
int b[510][510],c[510],d[510][510],e[510],n,l;
int yes()
{
int i,j,k;
for(j=1;j<=n;j++)
for(k=1;k<=c[j];k++)
if(d[b[j][k]][j]==0)
return 0;
return 1;
}
void dfs(int a)
{
int i,j,k;
for(i=1;i<=c[a];i++)
{
e[++e[0]]=a;
if(d[b[a][i]][a]==0)
{
printf("%d\n",a);
d[b[a][i]][a]=1;
d[a][b[a][i]]=1;
dfs(b[a][i]);
}
else
{
if(yes()==1 && l==0)
{
printf("%d",a);
l=1;
}
else
e[0]--;
}
}
return;
}
int main()
{
int i,j,m,h=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&j,&m);
b[j][++c[j]]=m;
b[m][++c[m]]=j;
}
for(i=1;i<=n;i++)
if(c[i]%2==1)
{
h=i;
break;
}
for(i=1;i<=500;i++)
std::sort(b[i]+1,b[i]+c[i]+1);
if(h==0)
h=1;
dfs(h);
return 0;
}
by Miss灬hxh @ 2017-06-26 16:34:01
为什么,,,
by 世代空明 @ 2017-06-26 16:35:55
为什么
by Dispwnl @ 2017-08-14 18:21:27
为啥啊。。
by Captain_Paul @ 2017-08-14 18:43:47
为什么。。。
by Victorique @ 2017-08-14 21:57:59
为什么
by Adove @ 2017-08-15 07:00:12
测试数据有两个点之间重复栅栏的