Cod sursa(job #1906554)

Utilizator alex.jilavu17alex jilavu alex.jilavu17 Data 6 martie 2017 14:49:33
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m;
vector <int> G[50005];
queue <int> c;
int s[50005],vf;
bool v[50005];
void cit(){
    fin>>n>>m;
    int to,from,k;
    for(int k=1;k<=m;k++){
        fin>>from>>to;
        G[from].push_back(to);}
}
void dfs(int k){
    v[k]=true;
    for(vector <int> ::iterator it=G[k].begin();it!=G[k].end();it++)
        if(v[*it]==false)
            dfs(*it);
    s[++vf]=k;
}
int main(){
    cit();
    for(int i=1;i<=n;i++)
        if(v[i]==false)
            dfs(i);
    for(int i=n;i>=1;i--)
        fout<<s[i]<<" ";
    return 0;}