La cursa prohibida de Lisboa P66335


Statement
 

pdf   zip

En Bernat, en Manuel, l’Esomer i en Jan van competir al SWERC a Lisboa, on el patinet elèctric és molt convenient. En acabar la sessió de proves van decidir agafar-ne uns quants i, confiant en la seu sentit d’orientació (?), intentar tornar a l’hostal. UPC-1 i UPC-3 potser no guanyarien el SWERC, però tenien clar que la cursa en patinet era seva.

Segons sembla:

  • Van ignorar absolutament tots els senyals de STOP.

  • L’Esomer es va quedar atrapat mentre la resta el van deixar enrere ignorant un semàfor en vermell.

  • En Manuel va intentar optimitzar retallant per un troç de gespa i... es va menjar un arbre (xoc frontal, 0 punts).

  • En Bernat i en Jan, finalment, es van perdre pels carrers de Lisboa. Després d’una bona estona voltant, van afirmar que havien acabat tornant al punt inicial, davant del lloc on es feien els entrenaments.

Ara bé, ells asseguren amb total convicció dues coses:

  1. No van passar en cap moment per l’hostal.

  2. No van travessar cap carrer en els dos sentits.

Modelem Lisboa com un graf no dirigit i connex amb nn vèrtexs (els encreuaments) i mm arestes (els carrers). El lloc d’entrenament se situa al vèrtex ss i l’hostal al vèrtex tt.

Determineu si la història del Bernat i en Jan pot ser certa: és a dir, si existeix algun camí (no buit) que comença a ss, evita tt en tot moment, no recorre cap aresta més d’una vegada (ja sigui en el mateix sentit o en sentit contrari), i que acaba tornant a ss.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb nn i mm, seguits d’mm parells xx yy indicant una aresta entre xx i yy, amb xyx \ne y, seguits d’ss i tt. Suposeu 2n1052 \le n \le 10^5, n1m5nn - 1 \le m \le 5n, que els vèrtexs es numeren entre 00 i n1n-1, que no hi ha arestes repetides, que el graf és connex, i sts \ne t.

Sortida

Per a cada cas, escriviu “SI” si la història del Bernat i en Jan és possible, o “NO” si en Bernat i en Jan ja no saben ni de què parlen.

Public test cases
  • Input

    3 2
    1 0  2 1
    1 2
    
    4 4
    0 1  1 2  2 0  2 3
    0 3
    
    4 4
    0 1  1 2  2 3  3 0
    1 3
    
    5 6
    0 1  1 2  1 3  1 4  2 4  3 4
    0 1
    
    7 8
    4 1  3 5  5 4  1 2  3 6  2 0  3 4  6 0
    2 6
    

    Output

    NO
    SI
    NO
    NO
    NO
    
  • Information
    Author
    Jan Matas i Bernat Pagès
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++