Las Zamburguesas P88760


Statement
 

pdf   zip

@par @ @̧tmp=10 @̧tmp=0 @̣tmp@̣tmp by@̣tmp =-@̧tmp=@̣breite @̣leftskip

La prova de Las Zamburguesas és una de les més mítiques del concurs. Els participants han de creuar un riu saltant de roca en roca, però compte! Algunes roques són falses i s’enfonsen!

ifnextchar ( ifnextchar (offsettrue(0pt,0pt) offsetfalse ifnextchar [(0pt,0pt)(0pt,0pt) ifnextchar [(0pt,0pt)(0pt,0pt)[l](0pt,0pt)(0pt,0pt)[l][] [r]

Hi ha nn roques de debò, circulars, amb centre (xi,yi)(x_i, y_i) i radi rir_i. La distància màxima que pot fer d’un salt un participant és dd (mesurant-ho des de la vora de les roques). La vostra tasca és calcular el nombre mínim de salts que cal fer per anar de la primera roca a l’última sense caure a l’aigua. Si és impossible, cal indicar-ho.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb el nombre de roques n2n \ge 2 i la distància de salt d>0d > 0. Segueixen nn triplets de reals xix_i, yiy_i i rir_i descrivint cada roca.

Sortida

Per a cada cas d’entrada, escriviu en una línia el nombre mínim de salts per anar de la primera de les roques donades fins a l’última, fent salts no més grans que dd, o bé “Xof!” si no es pot.

Observacions

  • Els casos de prova no contindran mai roques que se solapin, ni cap salt que vagi just, i que per tant es pogués malinterpretar per errors de precisió.

  • La figura es correspon a les roques dels exemples d’entrada.

Public test cases
  • Input

    4 3
    -6 4 1  -1.5 5.5 0.5  -2.5 2 1.5  3 3 2
    4 8.3
    -6 4 1  -1.5 5.5 0.5  -2.5 2 1.5  3 3 2
    4 1
    -6 4 1  -1.5 5.5 0.5  -2.5 2 1.5  3 3 2
    

    Output

    2
    1
    Xof!
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++ Python Python
    User solutions
    C C++ Go Java Python