Pagini recente » Cod sursa (job #2677497) | Cod sursa (job #2147775) | Cod sursa (job #1942111) | Cod sursa (job #308583) | Cod sursa (job #1499802)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
vector<int> g[50001];
int n,m;using namespace std;
int mark[50001];
int v[50001];
int t;
void dfs(int k){
unsigned int i;
mark[k]=1;
for(i=0;i<g[k].size();i++){
if(mark[g[k][i]]==0){
dfs(g[k][i]);
}
}
v[t++]=k;
}
int main(){
int i;
int x,y,j;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=0;i<m;i++){
scanf("%d%d",&x,&y);
g[x].push_back(y);
}
for(i=1;i<=n;i++){
t=0;
if(mark[i]==0){
dfs(i);
}
for(j=t-1;j>=0;j--){
printf("%d ",v[j]);
}
}
return 0;
}