Cod sursa(job #393428)

Utilizator testerXImari dochia testerXI Data 9 februarie 2010 14:24:32
Problema Ciclu Eulerian Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream.h>
#include <fstream.h>
#define IN "ciclueuler.in"
#define OUT "ciclueuler.out"
#define maxx 10000
 ifstream fin(IN);
ofstream fout(OUT);
 
int n,m;
int nc;
int g[maxx][maxx];
int c[maxx];

void citire();
void afis();
void euler(int nod);
 
int main()
{
 citire();
 fin.close();
  
 fout<<1<<" ";
euler(1);
 
afis();
  fout.close();   
return 0;
}
 
void citire()
{
 int i;
int x,y;
      
 fin>>n>>m;
      
for(i=1;i<=m;i++)
{
 fin>>x;
 fin>>y;
 g[x][y]=1;
 g[y][x]=1;
}
}
 
void euler(int nod)
{
int urm;
  
 for(urm=1;urm<=n;urm++)
 if(g[nod][urm])
  {
  g[nod][urm]=0;
   g[urm][nod]=0;
  euler(urm);
 }
 c[nc++]=nod;
}

void afis()
{
 int i;
  
 for(i=1;i<nc;i++)
 fout<<c[i]<<" ";
}