Pagini recente » Cod sursa (job #1215138) | Cod sursa (job #1716658) | Cod sursa (job #1064947) | Cod sursa (job #831242) | Cod sursa (job #1484880)
#include<cstdio>
#include<vector>
using namespace std;
vector<int>L[50100];
int n,m,i,j,a,b,nr,v[50100],x[50100],t[50100];
FILE *f,*g;
void dfs(int nod){
v[nod]=1;
for(int i=0;i<L[nod].size();i++){
if(v[ L[nod][i] ]==0)
dfs(L[nod][i]);
}
x[++nr]=nod;
}
int main(){
f=fopen("sortaret.in","r");
g=fopen("sortaret.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
fscanf(f,"%d%d",&a,&b);
t[b]=1;
L[a].push_back(b);
}
for(i=1;i<=n;i++){
if(!t[i])
dfs(i);
}
for(i=nr;i>=1;i--){
fprintf(g,"%d ",x[i]);
}
fclose(f);
fclose(g);
return 0;
}