Ordenació topològica P14952


Statement
 

pdf   zip

Cal realitzar nn tasques, d’una en una. A més, cal fer algunes tasques abans que altres: hi ha mm relacions de precedència entre les tasques. Feu un programa que escrigui una manera d’ordenar les nn tasques d’acord amb les mm precedències donades.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb nn, seguit de mm, seguit de mm parells diferents xx yy, que indiquen que cal realitzar la tasca xx abans que la yy. Suposeu 1n1041 \le n \le 10^4, 0m10n0 \le m \le 10n, i que les tasques es numeren entre 0 i n1n - 1.

Sortida

Per a cada cas, escriviu la manera més petita lexicogràficament d’ordenar les nn tasques d’acord amb les mm precedències donades. Sempre hi haurà, com a mínim, una solució.

Public test cases
  • Input

    3 1
    1 0
    
    1 0
    
    10 18
    0 3  4 8
    8 3  2 1
    5 7  5 6
    6 8  4 2
    4 0  8 1
    2 8  3 1
    6 2  7 3
    7 2  5 0
    0 6  9 5
    

    Output

    1 0 2
    0
    4 9 5 0 6 7 2 8 3 1
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++ Python Python
    User solutions
    C++ Python