#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int num,G[100][100],d[100];
void euler(int x){
for(int i=1;i<=num;i++)
if(G[x][i]){
G[x][i]--;
G[i][x]--;
euler(i);
printf("%d %d\n",i,x);
}
}
int main(){
int T,t=1,n;
scanf("%d",&T);
while(T--){
num=0;
scanf("%d",&n);
memset(G,0,sizeof(G));
memset(d,0,sizeof(d));
for(int i=0;i<n;i++){
int a,b;
scanf("%d%d",&a,&b);
G[a][b]++;G[b][a]++;
d[a]++;d[b]++;
num=max(num,max(a,b));
}
int flag=0;
for(int i=1;i<=num;i++){
if(d[i]&1){
flag=1;
break;
}
}
printf("Case #%d\n", t++);
if(flag)
printf("some beads may be lost\n");
else{
for(int i=1;i<=num;i++)
euler(i);
}
printf("\n");
}
}
uva 10054 欧拉回路
最新推荐文章于 2021-06-20 13:34:06 发布