Pagini recente » Cod sursa (job #2155935) | Cod sursa (job #1945682) | Cod sursa (job #310648) | Cod sursa (job #402929) | Cod sursa (job #2195475)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int start[100005], t[2][400005], x[100005], viz[100005],ff[100005];
int n, m, pr, ul, nr, sursa,timp;
void citire(){
f>>n>>m;
int k, i, j, l;
k=0;
for(l=1;l<=m;l++){
f>>i>>j;
if(i!=j){
k++;
t[0][k]=j;
t[1][k]=start[i];
start[i]=k;
}
}
}
void DFS(int vf){
viz[vf]=1;
for(int i=start[vf]; i; i=t[1][i]){
if(viz[t[0][i]]==0){
DFS(t[0][i]);
}
}
timp++;
ff[vf]=timp;
}
int main()
{
citire();
int nc=0,i,t=0;;
for(i=1;i<=n;i++)
if(viz[i]==0){
DFS(i);
}
for(i=1;i<=n;i++){
x[n+1-ff[i]]=i;
}
for(i=1;i<=n;i++)
g<<x[i]<<" ";
return 0;
}