Pagini recente » Cod sursa (job #2139936) | Cod sursa (job #1739519) | Cod sursa (job #2205842) | Cod sursa (job #175265) | Cod sursa (job #2333907)
#include <bits/stdc++.h>
#define NMAX 50005
using namespace std;
vector<int> v[NMAX];
FILE*f=fopen("sortaret.in","r");
FILE*g=fopen("sortaret.out","w");
int n,m,x,y,viz[NMAX],st[NMAX],nr;
void df(int k) {
int i;
viz[k]=1;
cout<<k<<' ';
for (i=0;i<v[k].size();++i)
if (!viz[v[k][i]]) df(v[k][i]);
st[++nr]=k;
}
int main() {
int i;
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=m;++i) {
fscanf(f,"%d%d",&x,&y);
v[x].push_back(y);
}
for (i=1;i<=n;++i)
if (!viz[i]) df(i);
for (i=nr;i>=1;--i)
fprintf(g,"%d ",st[i]);
return 0;
}