Cod sursa(job #2216800)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 27 iunie 2018 23:34:12
Problema Ciclu Eulerian Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
using namespace std;
#include <fstream>
long n,m,nr=0,a[500][500],y,j,i,v[500];

void euler(int k)
{
    for(i=k;i<=n;i++)
        if(a[i][k]>0)
    {
        a[i][k]--;
        a[k][i]--;
        nr++;
        v[nr]=k;
        cout<<k<<" "<<i<<endl;
        euler(i);
    }
    for(i=1;i<k;i++)
        if(a[i][k]>0)
    {
        a[i][k]--;
        a[k][i]--;
        nr++;
        v[nr]=k;
        cout<<k<<" "<<i<<endl;
        euler(i);
    }
}

int main(){
    ifstream f("ciclueuler.in");
    ofstream g("ciclueuler.out");

f>>n>>m;
y=m;
while (y)
{
    f>>i>>j;
    a[i][j]++;
    a[j][i]++;
    y--;
}

euler(i);
if(nr==m)
    for(i=1;i<=nr;i++)
        g<<v[i]<<" ";

f.close();
g.close();
    return 0;}