Pagini recente » Cod sursa (job #257988) | Cod sursa (job #2364067) | Cod sursa (job #865675) | Cod sursa (job #2127708) | Cod sursa (job #658947)
Cod sursa(job #658947)
#include<fstream>
#include<vector>
using namespace std;
FILE *g=fopen("ciclueuler.out","w");
int i,j,n,m,k,x,y;
bool viz[500010];
struct vec
{
int nod,poz;
};
vector<vec> a[100002];
void det(int x)
{
int i;
for(i=0;i<a[x].size();++i)
if(!viz[a[x][i].poz])
{
viz[a[x][i].poz]=1;
det(a[x][i].nod);
}
fprintf(g,"%d ",x);
}
int main()
{
FILE *f=fopen("ciclueuler.in","r");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;++i)
{
fscanf(f,"%d%d",&x,&y);
a[x].push_back((vec) {y,i});
a[y].push_back((vec) {x,i});
}
for(i=1;i<=n;++i)
if(a[i].size()%2!=0)
{
fprintf(g,"-1\n");
return 0;
}
det(1);
return 0;
}