Pagini recente » Cod sursa (job #1002086) | Cod sursa (job #2899824) | Cod sursa (job #302976)
Cod sursa(job #302976)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define Nmax 50100
#define FIN "sortaret.in"
#define FOUT "sortaret.out"
#define pb push_back
#define sz size
vector<int> a[Nmax];
int n,m;
int viz[Nmax];
int x,y,nr;
int ord[Nmax];
void dfs(int nod)
{
int i,j;
viz[nod]=1;
for (i=0;i<a[nod].sz();++i)
if (!viz[a[nod][i]])
dfs(a[nod][i]);
ord[++nr]=nod;
}
void citire()
{
int i,j;
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d\n", &n,&m);
for (i=1;i<=m;++i)
{
scanf("%d %d\n", &x,&y);
a[x].pb(y);
a[y].pb(x);
}
for(i=1;i<=n;++i)
if (!viz[i])
{
dfs(i);
}
}
void scrie()
{
int i,j;
for (i=nr;i>=1;--i)
printf("%d ", ord[i]);
}
int main()
{
citire();
scrie();
fclose(stdin);
fclose(stdout);
return 0;
}