Nu aveti permisiuni pentru a descarca fisierul grader_test7.ok
Cod sursa(job #1526881)
| Utilizator | Data | 17 noiembrie 2015 16:14:23 | |
|---|---|---|---|
| Problema | Ciclu Eulerian | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("ciclueuler.in");
ofstream fout ("ciclueuler.out");
const int Nmax = 201;
int gr[100005];
vector <int> sol;
bitset <Nmax> v[Nmax];
int i, n, x, y,m;
void CicluEulerian (int x)
{
for (int i=1; i<=n; i++)
{
if (v[i][x]==1)
{
v[i][x]=v[x][i]=0;
CicluEulerian (i);
}
}
sol.push_back(x);
}
int main()
{
fin>>n>>m;
while (fin>>x >> y)
{
v[x][y]=v[y][x]=1;
gr[x]++;gr[y]++;
}
for(int i=1;i<=n;i++)
if(gr[i]%2==1) {fout<<-1;return 0;}
CicluEulerian(1);
for (i=0; i<sol.size(); i++) fout << sol[i] << " ";
}
