Cod sursa(job #2683079)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 10 decembrie 2020 13:51:25
Problema Sortare topologica Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin  ("sortaret.in");
ofstream fout ("sortaret.out");

int n, m, p, a[1005], b[1005], aa[1005], bb[1005], q[1005], g[1005];

int main (){
    fin>>n>>m;

    for(int i=1; i<=m; i++){
        fin>>a[i]>>b[i];
        aa[a[i]]++;
        bb[b[i]]++;
    }

    for(int i=1; i<=n; i++){

        for(p=1; p<=n; p++)
            if(bb[p] == 0 && q[p] == 0){
                fout<<p<<" ";
                q[p]=1;
                break;
            }

        for(int j=1; j<=m; j++)
            if(g[j] == 0 && a[j] == p){
                aa[a[j]]--;
                bb[b[j]]--;
                g[j]=1;
            }
    }

    return 0;
}