Adove @ 2017-08-15 07:48:01
#include<cstdio>
#include<algorithm>
using namespace std;
int g[501][501],du[501],cu[501];
int n,e,ctp,i,j,x,y,st=1,m,mi;
void f(int i)
{
for(int j=mi;j<=m;++j)
if(g[i][j])
{
g[i][j]--;
g[j][i]--;
f(j);
}
cu[++ctp]=i;
}
int main()
{
scanf("%d",&e);
for(i=1;i<=e;++i)
{
scanf("%d%d",&x,&y);
++g[y][x];
++g[x][y];
du[x]++;
du[y]++;
m=max(m,x);
m=max(m,y);
mi=min(mi,x);
mi=min(mi,y);
}
for(i=mi;i<=m;++i)
if(du[i]%2)
{
st=i;
break;
}
f(st);
for(i=ctp;i>=1;--i)
printf("%d\n",cu[i]);
return 0;
}
最后一个点WA了求解
by Adove @ 2017-08-15 08:18:09
#include<cstdio>
#include<algorithm>
using namespace std;
int g[1501][1501],du[1501],cu[1501];
int n,e,ctp,i,j,x,y,st=1,m,mi,p;
void f(int i)
{
for(int j=mi;j<=m;++j)
if(g[i][j])
{
g[i][j]--;
g[j][i]--;
f(j);
}
cu[++ctp]=i;
}
int main()
{
scanf("%d",&e);
for(i=1;i<=e;++i)
{
scanf("%d%d",&x,&y);
++g[y][x];
++g[x][y];
du[x]++;
du[y]++;
m=max(m,x);
m=max(m,y);
mi=min(mi,x);
mi=min(mi,y);
}
for(i=mi;i<=m;++i)
if(du[i]%2)
{
st=i;
p=1;
break;
}
f(st);
for(i=ctp;i>=1;--i)
printf("%d\n",cu[i]);
return 0;
}现在改好了
by 宽嫂 @ 2017-08-15 08:29:39
[趴]malao太强辣
by wzhhahah @ 2017-08-15 14:35:00
[趴]malao太强辣
by 二三两 @ 2017-09-11 19:35:47
求问为什么会wa最后一个点……
by 转身、已陌路 @ 2017-09-12 11:06:04
@二三两 哈哈哈哈哈哈哈哈
by 转身、已陌路 @ 2017-09-12 15:50:44
@帝国元首 两个代码有什么区别吗
by Adove @ 2017-09-12 16:17:19
@转身、已陌路 数组开小了qwq
by 转身、已陌路 @ 2017-09-12 16:30:51
@帝国元首 好的谢谢大佬
by 黄俊豪 @ 2018-09-25 20:10:59
为什么数组不够啊?感觉505就很稳妥了嘞