Salts de dos en dos S97190


Statement
 

pdf   zip

Donats un graf no dirigit i dos vèrtexs ss i tt, calculeu el mínim nombre de salts que cal fer per anar des d’ss fins a tt. Aquí, direm que un salt entre dos vèrtexs xx i zz és possible si existeix algun vèrtex yy adjacent tant a xx com a zz.

Entrada

L’entrada consisteix en diversos grafs. Cada cas comença amb nn, mm, ss i tt, seguit d’mm parells xx yy, amb xyx \ne y, que indiquen una aresta entre xx i yy. Suposeu 2n1052 \le n \le 10^5, 0m5n0 \le m \le 5n, sts \ne t, que els vèrtexs es numeren entre 0 i n1n - 1, i que no hi ha arestes repetides.

Sortida

Per a cada graf, escriviu el mínim nombre de salts per anar des d’ss fins a tt. Si és impossible, escriviu “NO”.

Observació

Encara que s’obtingui un verd, només es donarà la màxima puntuació a aquelles solucions de cost Θ(n+m)\Theta(n+m).

Public test cases
  • Input

    3 2 1 2
    1 0  2 1
    
    4 4 3 2
    0 1  1 2  2 0  3 0
    
    2 1 0 1
    0 1
    
    5 6 0 1
    0 1  1 2  1 3  1 4  2 4  3 4
    

    Output

    NO
    1
    NO
    2
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++