Engranatges P57302


Statement
 

pdf   zip

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:

0.5

0.4

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb el nombre nn d’engranatges i el nombre mm de parelles d’engranatges adjacents. Després vénen mm parells diferents xx yy, amb xyx \ne y, indicant que l’engranatge xx i l’engranatge yy són adjacents. Suposeu 1n1041 \le n \le 10^4, 0m5n0 \le m \le 5n, i que els engranatges es numeren entre 0 i n1n - 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++