Engranatges P57302


Statement
 

pdf   zip

thehtml

Donat un sistema d’engranatges, heu de determinar si podrà girar adequadament, o si algun dels engranatges provocarà un bloqueig del sistema en intentar girar en les dues direccions. Concretament, dos engranatges adjacents han de girar en sentits oposats.

Per exemple, tres engranatges en fila poden girar sense problemes, mentre que, en disposició de triangle, un dels tres genera un conflicte, ja que hauria de girar en els dos sentits per ser consistent amb cadascun dels engranatges adjacents:

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb el nombre n d’engranatges i el nombre m de parelles d’engranatges adjacents. Després vénen m parells diferents x y, amb xy, indicant que l’engranatge x i l’engranatge y són adjacents. Suposeu 1 ≤ n ≤ 104, 0 ≤ m ≤ 5n, i que els engranatges es numeren entre 0 i n − 1.

Sortida

Per a cada cas, escriviu “SI” si el sistema podrà girar sense tenir cap conflicte de direccions, i “NO” en cas contrari.

Public test cases
  • Input

    3 2
    0 1  1 2
    
    3 3
    0 1  1 2  0 2
    
    4 2
    0 3  2 1
    

    Output

    SI
    NO
    SI
    
  • Information
    Author
    Izan Beltran
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++