Pagini recente » Cod sursa (job #1941539) | Cod sursa (job #510062) | Cod sursa (job #2798581) | Cod sursa (job #2557295) | Cod sursa (job #1415965)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int NMax = 50005;
vector < int > v[NMax],sorted;
bool go[NMax];
void dfs(int k){
int i = 0;
for(i = 0; i < v[k].size(); i++){
if(go[v[k][i]] == false){
go[v[k][i]] = true;
dfs(v[k][i]);
}
}
sorted.push_back(k);
}
int main()
{
int n,m,a,b;
fin >> n >> m;
for(int i = 1; i <= m; i++){
fin >> a >> b;
v[a].push_back(b);
}
for(int i = 1; i <= n; i++){
if(go[i] == false){
go[i] = true;
dfs(i);
}
}
for(int i = sorted.size() - 1; i >= 0; i--){
fout << sorted[i] << " ";
}
return 0;
}