Pagini recente » Cod sursa (job #2939808) | Cod sursa (job #351215) | Cod sursa (job #833950) | Cod sursa (job #1658800) | Cod sursa (job #1096674)
#include<fstream>
using namespace std;
typedef struct celula {
int nod;
celula *next;
}*lista;
lista graf[50005],v;
int i,n,m,st[50005],lev,x,y;
bool viz[50005];
void dfs(int nod) {
viz[nod]=1;
for (lista p=graf[nod]; p; p=p->next)
if (viz[p->nod]==0) dfs(p->nod);
++lev;
st[lev]=nod;
}
int main(void) {
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin>>n>>m;
for (i=1; i<=m; ++i) {
fin>>x>>y;
v=new celula; v->nod=x; v->next=graf[y]; graf[y]=v;
v=new celula; v->nod=y; v->next=graf[x]; graf[x]=v;
}
for (i=1; i<=n; ++i)
if (viz[i]==0) dfs(i);
for (; lev>0; --lev) fout<<st[lev]<<" ";
return(0);
}