Pagini recente » Cod sursa (job #192789) | Cod sursa (job #2494583) | Cod sursa (job #1900869) | Cod sursa (job #1207929) | Cod sursa (job #1290399)
#include<fstream>
#include<deque>
#include<vector>
#include<iostream>
#include<algorithm>
#define NMAX 100000
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
vector<int> G[NMAX];
int n;
void afis();
void citire() {
int a, b, m;
fin>>n>>m;
for(int i=0;i<m;i++) {
fin>>a>>b;
G[a-1].push_back(b-1);
G[b-1].push_back(a-1);
}
afis();
}
void deleteEdge(int nod, int val) {
G[nod].erase(find(G[nod].begin(), G[nod].end(), val));
}
void afis() {
for(int k=0; k<10; k++) {
cout<<"L["<<k<<"]: ";
for(int l=0; l<G[k].size(); l++) cout<<G[k][l]<<" ";
cout<<endl;
}
}
deque<int> Q;
void euler(int node) {
while(!G[node].empty()) {
int vec = G[node][0];
deleteEdge(node, vec);
deleteEdge(vec, node);
//cout<<G[node].size()<<" "<<G[vec].size()<<endl;
fout<<vec+1<<" ";
euler(vec);
}
}
int main() {
citire();
euler(1);
return 0;
}