Cod sursa(job #2377973)

Utilizator adriashkin.07alehandru69 adriashkin.07 Data 11 martie 2019 15:28:30
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define ld long double
#define fs first
#define sc second
#define pb push_back
#define in ifstream cin
#define out ofstream cout
int n,m,x,y;
vector<int>v[50010];
vector<int>u;
int cl[50010];
void dfs(int a)
{
	cl[a]=1;
	for(auto it:v[a])if(!cl[it])dfs(it);
	cl[a]=2;
	u.pb(a);
}
int main()
{
	in("sortaret.in");
	out("sortaret.out");
	cin>>n>>m;
	while(m--)
	{
		cin>>x>>y;
		v[x].pb(y);
	}
	for(int i=1;i<=n;i++)if(!cl[i])dfs(i);
	for(int i=n-1;i>=0;i--) cout<<u[i]<<" ";
}