Cod sursa(job #1834010)

Utilizator musashi1Doros Doru-Lucian musashi1 Data 23 decembrie 2016 17:45:37
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb

#include <vector>
#include <list>
#include<queue>
#include<stack>
#include<fstream>
#include <cstring>
#define MAXN 1001
#define MAXM 1001
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");

stack<int> S;

int N, M, C[MAXM], nc=0;
char G[MAXN][MAXM];
void euler(int nod)
{
	int urm;
	for (urm = 1; urm <= N; urm++)
	if (G[nod][urm])
	{
		//S.push(nod);
		G[nod][urm] = 0;
		G[urm][nod] = 0;
		euler(urm);
	}
	//S.pop();
	C[nc++] = nod;
	
}
int main()
{
	int a, b;
	fin >> N >> M;
	for (int i = 1; i <= M; i++)
	{
		fin >> a >> b;
		G[a][b] = 1;
		G[b][a] = 1;
	}

	euler(1);
	for (int i = 0; i < nc; i++)
	{
		fout << C[i]<<' ';
	}


}