Cod sursa(job #1321634)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 19 ianuarie 2015 13:49:59
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>
#include <vector>

using namespace std;
FILE *f=fopen("ciclueuler.in","r");
FILE *g=fopen("ciclueuler.out","w");

vector <int> a[10005];
int m,n,i,x,y;

void fleury()
{
vector <int>::iterator it;
int i,x0,c[10000];
x0=1;
c[1]=1;
i=0;
while(i!=m){
for(it=a[x0].begin();it!=a[x0].end();++it)
if(a[*it].size()!=0){a[x0].erase(a[x0].begin()+*it);i++;c[i+1]=*it;x0=*it;break;}
}
for(i=1;i<=m+1;i++)
fprintf(g,"%d ",c[i]);

}


int main()
{
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(f,"%d%d",&x,&y);
a[x].push_back(y);
}
fleury();


fclose(g);
return 0;
}