Pagini recente » Cod sursa (job #1201168) | Cod sursa (job #191581) | Cod sursa (job #1864409) | Cod sursa (job #2260781) | Cod sursa (job #1780264)
//
// main.cpp
// Sortare Topologica
//
// Created by Albastroiu Radu on 10/15/16.
// Copyright © 2016 Albastroiu Radu. All rights reserved.
//
#include <iostream>
#include <iomanip>
#include <fstream>
#include <algorithm>
#include <unordered_map>
#include <vector>
#include <cmath>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
long long i, n, m, j, k, x, y, nr, viz[50001], result[50001];
vector<long long> vecini[50001];
void dfs(long long k)
{
viz[k]=1;
for(int i=0;i<vecini[k].size();i++)
{
if(viz[vecini[k][i]] == 0)
dfs(vecini[k][i]);
}
result[++nr] = k;
}
int main()
{
fin >> n >> m;
for(i=1;i<=m;i++)
{
fin >> x >> y;
vecini[x].push_back(y);
}
for(i=1;i<=n;i++)
{
if(viz[i]==0)
dfs(i);
}
for(i=n;i>0;i--)
fout<<result[i]<<" ";
return 0;
}