Pagini recente » Cod sursa (job #2606391) | Cod sursa (job #1558616) | Cod sursa (job #2873533) | Cod sursa (job #2311621) | Cod sursa (job #2321021)
#include <bits/stdc++.h>
std::vector<int> v[50000];
int af[50000];
int vis[50000];
int q=0;
void dfs(int k){
int i=0;
vis[k]=1;
while(i<v[k].size()){
if(vis[v[k][i]]==0){
dfs(v[k][i]);
}
i++;
}
af[q]=k;
q++;
}
int main()
{
int n,m,i,a,b;
FILE*fi,*fo;
fi=fopen("sortaret.in","r");
fo=fopen("sortaret.out","w");
fscanf(fi,"%d%d",&n,&m);
for(i=0;i<m;i++){
fscanf(fi,"%d%d",&a,&b);
a--;
b--;
v[b].push_back(a);
}
for(i=0;i<n;i++){
if(vis[i]==0){
dfs(i);
}
}
for(i=0;i<n;i++){
fprintf(fo,"%d ",af[i]+1);
}
fclose(fi);
fclose(fo);
return 0;
}