Pagini recente » Cod sursa (job #2790531) | Shop | Cod sursa (job #3281076) | Diferente pentru implica-te/arhiva-educationala intre reviziile 220 si 221 | Cod sursa (job #1920736)
#include <iostream>
#include <fstream>
#define NMAX 210
using namespace std;
ifstream f ("euler.in");
ofstream g ("euler.out");
int a[NMAX][NMAX], answear[NMAX * NMAX], nrKnotsInAnswear, n, m;
int NextKnot(int nod)
{
for (int i = 1; i <= n; i++)
if (a[nod][i]) return i;
return -1;
}
void Euler(int nod)
{
int nodUrmator = NextKnot(nod);
while(nodUrmator != -1)
{
a[nod][nodUrmator] = 0;
a[nodUrmator][nod] = 0;
Euler(nodUrmator);
nodUrmator = NextKnot(nod);
}
nrKnotsInAnswear++;
answear[nrKnotsInAnswear] = nod;
}
int main()
{
f >> n >> m;
int x, y;
for(int i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]=a[y][x]=1;
}
Euler(1);
// g << nrKnotsInAnswear << '\n';
for (int i = 1; i <= nrKnotsInAnswear; i++)
g << answear[i] << ' ';
return 0;
}