Cod sursa(job #623529)
| Utilizator | Data | 20 octombrie 2011 09:30:55 | |
|---|---|---|---|
| Problema | Ciclu Eulerian | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<cstdio>
#include<cstring>
using namespace std;
int a[10000][10000],i,x,y,n,m,c[10000],nc;
void euler(int nod){
int i;
for(i=1;i<=n;i++)
if(a[nod][i]){
a[nod][i]--;
a[i][nod]--;
euler(i);}
c[++nc]=nod;}
int main(){
freopen("ciclueuler.in","r",stdin);
freopen("ciclueuler.out","w",stdout);
scanf("%d %d",&n,&m);
nc=0;
for(i=1;i<=m;i++){
scanf("%d %d",&x,&y);
a[x][y]++;
a[y][x]++;
}
euler(1);
for(i=1;i<=nc;i++)printf("%d ",c[i]);
return 0;
}
