Sai quei giocattoli di legno con piccoli cuscinetti a sfera in cui l'oggetto deve muoversi nel labirinto? Questo è un po 'così. Dato un labirinto e una serie di mosse, determinare dove finisce la palla.
La tavola è tenuta in verticale e la palla si muove solo per gravità quando la tavola viene ruotata. Ogni "mossa" è una rotazione (in radianti).
Il labirinto è semplicemente pareti circolari concentriche, con ogni parete che ha esattamente un'apertura nel corridoio esterno, simile a questo (supponiamo che quelle pareti siano cerchi e non appuntite):

Come puoi vedere, la palla inizia nel mezzo e sta cercando di uscire. La palla cadrà all'istante non appena sarà raggiunto l'orientamento corretto, anche se è a metà di una rotazione. Una singola rotazione può far cadere la palla attraverso più aperture. Ad esempio, una rotazione >= n * 2 * piè sufficiente per sfuggire a qualsiasi labirinto.
Ai fini del gioco, una palla situata all'interno dei 0.001radianti dell'apertura è considerata un "adattamento" e passerà attraverso il corridoio successivo.
Ingresso:
L'input è suddiviso in due parti:
Il labirinto è dato da un numero intero che
nrappresenta il numero di pareti / aperture presenti nel labirinto. Questo è seguito danlinee, con un numero su ciascuna, che rappresentano dove si trova il passaggio al corridoio successivo.Le mosse sono indicate come un numero intero che
mrappresenta il numero di mosse eseguite, seguite (sempre su linee separate) damrotazioni orarie della scheda in radianti (il negativo è in senso antiorario).
Tutte le posizioni di passaggio sono indicate come 0 rad = up, con radianti positivi che vanno in senso orario.
Per l'immagine di esempio sopra, l'input potrebbe essere simile al seguente:
7 // 7 openings
0
0.785398163
3.14159265
1.74532925
4.71238898
4.01425728
0
3 // 3 moves
-3.92699082
3.14159265
0.81245687
Uscita:
emette il numero del corridoio in cui finisce la palla. I corridoi sono indicizzati a zero, a partire dal centro, quindi si inizia 0. Se passi attraverso un'apertura, sei nel corridoio 1. Se si esce dall'intero labirinto, emettere un numero intero>= n
Per l'input del campione, ci sono tre mosse. Il primo farà cadere la palla attraverso due aperture. Il secondo non trova un'apertura e il terzo ne trova una . La palla è ora in corridoio 3, quindi l'output previsto è:
3
Il comportamento non è definito per input non valido. L'input valido è ben formato, con n >= 1e m >= 0.
Il punteggio è un codice golf standard, il numero più basso di byte vince. Sono vietate le scappatoie standard . L'input non deve essere hardcoded, ma può essere preso da input standard, argomenti, console, ecc. L'output può essere su console, file, qualunque cosa, semplicemente renderlo visibile da qualche parte.
1, lavoreresti solo con grandi buchi, senza saltare le palle al centro del buco quando cadono.
