Pensa a una strada come una linea numerica, a partire da 0e continuando indefinitamente:
.................................................................
Ci sono due macchine sulla strada: Ce R. Cè il poliziotto che sta cercando di catturare R, il ladro. Cinizia alle 0e Rinizia da qualche parte sulla strada:
C.............................R..................................
Il poliziotto si sta già muovendo, sta inseguendo il ladro. Ha una velocità costante. Il ladro è appena salito in macchina. Sta accelerando. Ad ogni tick, la velocità del ladro aumenta con la sua accelerazione.
Di 'che la velocità del poliziotto è 7e l'accelerazione del ladro è 1. Se il ladro inizia 30, ecco come apparirebbe la strada per ogni segno di spunta:
C.............................R..................................
.......C.......................R.................................
..............C..................R...............................
.....................C..............R............................
............................C...........R........................
...................................C.........R...................
..........................................C........R.............
.................................................C........R......
Dopo l'ultimo segno di spunta sopra, la velocità del ladro è pari a quella del poliziotto, ed è ancora avanti. Poiché il poliziotto si sta muovendo a una velocità costante e il ladro sta ancora accelerando, il ladro scappa, quindi si genera un valore veritiero. Tuttavia, se la velocità del poliziotto fosse stata 9...
C.............................R..................................
.........C.....................R.................................
..................C..............R...............................
...........................C........R............................
....................................C...R........................
.............................................X...................
... quindi il poliziotto raggiunge il ladro prima che il ladro possa fuggire (contrassegnato dal Xsimbolo), in modo da emettere un valore falso.
Il tuo compito
Dati tre input - la velocità del poliziotto, la posizione del ladro e l'accelerazione del ladro - determinano se il ladro scapperà o meno.
Regole
- Il poliziotto inizia sempre alle
0. - Tutti gli input saranno numeri interi positivi.
- Il poliziotto cattura il ladro se, dopo ogni segno di spunta, la posizione del poliziotto è maggiore o uguale alla posizione del ladro.
- Il ladro si allontana quando non è ancora stato catturato e la sua velocità è maggiore di quella del poliziotto.
- Il programma deve terminare dopo l'output.
- Il ladro accelera prima di spostare ogni segno di spunta.
Casi test
Cop Speed, Robber Position, Robber Acceleration -> Output
7, 30, 1 -> truthy
9, 30, 1 -> falsey
2, 1, 3 -> truthy
100, 100, 50 -> truthy
60, 60, 20 -> falsey
10, 1, 1 -> falsey
10, 50, 2 -> truthy
11, 50, 2 -> truthy
12, 50, 2 -> truthy
13, 50, 2 -> truthy
14, 50, 2 -> truthy
15, 50, 2 -> truthy
16, 50, 2 -> falsey
17, 50, 2 -> falsey
18, 50, 2 -> falsey
100, 451, 10 -> truthy
Implementazione di riferimento di Python 3 che crea anche un elemento visivo: provalo online!
Questo è code-golf , quindi vince la risposta più breve in byte.
robber acceleration, cop speed, robber positioninvece)?