Pagini recente » Cod sursa (job #1840635) | Cod sursa (job #3122742) | Cod sursa (job #2986534) | Cod sursa (job #3133951) | Cod sursa (job #1912987)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
const int NMax = 50011;
int n,m,x,y,top;
int s[NMax],viz[NMax];
vector<int> G[NMax];
void dfs(int nod){
viz[nod] = 1;
for(int i = 0; i < G[nod].size(); ++i){
if(!viz[G[nod][i]]){
dfs(G[nod][i]);
}
}
s[++top] = nod;
}
int main()
{
f >> n >> m;
for(int i = 1; i <= m; ++i){
f >> x >> y;
G[x].push_back(y);
}
for(int i = 1; i <= n; ++i){
if(!viz[i]){
dfs(i);
}
}
for(int i = top; i >= 1; --i){
g << s[i] << ' ';
}
return 0;
}