Cod sursa(job #1321760)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 19 ianuarie 2015 15:04:32
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int x,y,ajung[100001],i,OK,n,m;
vector<int> v[100001];
void dfs(int x,int r)
{
    int i=0;
    for(i=0;i<v[x].size();i++)
    {
        p1[++k]=r;
        if(v[x][i]==r)
        {
            OK=1;
            return;
        }
        if(OK==0)
        {
            dfs(v[x][i],r);
            k--;
        }
    }
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        v[x].push_back(y);
        ajung[x]++;ajung[y]++;
        v[y].push_back(x);
    }
    for(i=1;i<=n;i++)
    {
        if(ajung[i]%2==1)
        {
            fout<<-1;
            OK=1;
            break;
        }
    }
    if(!OK)
    {
        OK=0;k=0;
        dfs(x,x);
    }
    return 0;
}