Cod sursa(job #2345931)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 16 februarie 2019 20:50:08
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
#define MAXN 50010
using namespace std;
vector <int> ts,A[MAXN];
bool V[MAXN];
int n,m;

void topSort(int node){
	V[node]=1;
	for(int i=0;i<A[node].size();i++){
		if(!V[A[node][i]])topSort(A[node][i]);
	}
	ts.push_back(node);
}

int main(){
		ifstream cin("sortaret.in");
		ofstream cout("sortaret.out");
		cin>>n>>m;
		for(int i=0;i<m;i++){
			int a,b;
			cin>>a>>b;
			A[a].push_back(b);
		}
		for(int i=1;i<=n;i++)
		if(!V[i])topSort(i);
		for(int i=ts.size()-1;i>=0;i--)cout<<ts[i]<<' ';
	return 0;
}