Cod sursa(job #623530)

Utilizator dragos94Bobaru Dragos dragos94 Data 20 octombrie 2011 09:37:22
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[20010][20010],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;
}