Cod sursa(job #2092180)
Utilizator | Data | 21 decembrie 2017 11:38:28 | |
---|---|---|---|
Problema | Ciclu Eulerian | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f ("ciclueuler.in");
ofstream g ("ciclueuler.out");
int c[20001],a[201][201],n,m,k;
void citire()
{
int x,y;
f>>n>>m;
while(f>>x>>y)
a[x][y]=a[y][x]=1;
}
void afis(int k)
{
int i;
//g<<m+1<<endl;
for(i=1; i<=k; i++)
g<<c[i]<<" ";
exit(0);
}
void euler (int i)
{
int j;
for(j=1; j<=n; j++)
if(a[i][j]==1)
{
a[i][j]=a[j][i]=0;
euler(j);
}
c[++k]=i;
}
int main()
{
citire();
euler(1);
afis(k);
return 0;
}