Pagini recente » Istoria paginii runda/100 | Cod sursa (job #2077187) | Cod sursa (job #2038353) | Cod sursa (job #1413112) | Cod sursa (job #768735)
Cod sursa(job #768735)
#include<fstream>
#include<vector>
#define NN 100001
#define pb push_back
using namespace std;
ofstream out("ciclueuler.out");
vector<int>G[NN];
typedef vector<int> :: iterator IT;
int uz[NN],n,m,gr[NN];
void read();
void DFS(int );
int main()
{
read();
for(int i=1;i<=n;i++)
if(gr[i] %2==1)
{
out<<-1;
return 0;
}
DFS(1);
return 0;
}
void read()
{
ifstream in("ciclueuler.in");
in>>n>>m;
for(int x,y; m ;--m)
{
in>>x>>y;
G[x].pb(y);
G[y].pb(x);
gr[x]++;
gr[y]++;
}
}
void DFS(int start)
{
for(IT I=G[start].begin();I!=G[start].end();++I)
{ if(uz[*I])
continue;
uz[*I]=1;
DFS(*I);
out<<*I<<" ";
}
}