Pagini recente » Cod sursa (job #2540381) | Cod sursa (job #149408) | Cod sursa (job #208587) | Cod sursa (job #2643486) | Cod sursa (job #2668193)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int> g[50005], sorted;
int n, m, v[50005];
void citire() ///functia de citire
{
fin >> n >> m;
while(m--) {
int x, y;
fin >> x >> y;
g[x].push_back(y);
}
}
void dfs(int x) ///parcurgere in adancime
{
v[x] = 1;
for(auto next: g[x])
if(!v[next])
dfs(next);
sorted.push_back(x);
}
void solve() /// functie de parcurgere (prin dfs) a fiecarui nod
{
for(int i = 1; i <= n; i++)
if(!v[i])
dfs(i);
}
void afis() ///functie de afisare
{
for(int i = sorted.size()-1; i >= 0; i--)
fout << sorted[i] << ' ';
}
int main()
{
citire();
solve();
afis();
}