#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <stack>
using namespace std;
const int maxn = 50+20;
const int n = 50;
int deg[maxn], G[maxn][maxn], m;
void euler(int u){
for(int v=1; v<=n; v++){ //這裏是n而非m
if(G[u][v]){
G[u][v]--;
G[v][u]--;
euler(v);
printf("%d %d\n", v, u);
}
}
}
int main(){
int T, u, v, kase=0;
cin >> T;
while(T--){
cin >> m;
memset(deg, 0, sizeof(deg));
memset(G, 0, sizeof(G));
for(int i=0; i<m; i++){
cin >> u >> v;
G[u][v]++;
G[v][u]++;
deg[u]++;
deg[v]++;
}
bool flag = true;
for(int i=1; i<=n; i++){ //這裏也是n非m
if(deg[i] % 2 == 1) { flag = false; break; }
}
if(kase) putchar('\n');
if(flag){
printf("Case #%d\n", ++kase);
euler(u);
}
else printf("Case #%d\nsome beads may be lost\n", ++kase);
}
return 0;
}
uva 10054
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.