Considérez une route comme une droite numérique, commençant 0
et se poursuivant indéfiniment:
.................................................................
Il y a deux voitures sur la route: C
et R
. C
est le flic qui essaie d'attraper R
, le voleur. C
commence à 0
, et R
commence quelque part sur la route:
C.............................R..................................
Le flic est déjà en mouvement - il poursuit le voleur. Il a une vitesse constante. Le voleur a sauté dans sa voiture. Il accélère. A chaque tick, la vitesse du voleur augmente par son accélération.
Disons que la vitesse du flic est 7
et l'accélération du voleur est 1
. Si le voleur commence 30
, voici à quoi ressemblerait la route à chaque tick:
C.............................R..................................
.......C.......................R.................................
..............C..................R...............................
.....................C..............R............................
............................C...........R........................
...................................C.........R...................
..........................................C........R.............
.................................................C........R......
Après le dernier tick ci-dessus, la vitesse du voleur est égale à celle du flic, et il est toujours devant. Étant donné que le flic se déplace à une vitesse constante et que le voleur accélère toujours, le voleur s'échappe, vous produisez donc une valeur vraie. Cependant, si la vitesse du flic avait été 9
...
C.............................R..................................
.........C.....................R.................................
..................C..............R...............................
...........................C........R............................
....................................C...R........................
.............................................X...................
... alors le flic rattrape le voleur avant que le voleur ne puisse s'enfuir (marqué par le X
), vous produisez donc une valeur de falsey.
Ta tâche
Étant donné trois entrées - la vitesse du flic, la position du voleur et l'accélération du voleur - déterminez si le voleur s'en sortira ou non.
Règles
- Le flic commence toujours à
0
. - Toutes les entrées seront des entiers positifs.
- Le flic attrape le voleur si, après un tick, la position du flic est supérieure ou égale à la position du voleur.
- Le voleur s'enfuit quand il n'a pas encore été attrapé et sa vitesse est supérieure à celle du flic.
- Votre programme doit se terminer après la sortie.
- Le voleur accélère avant de déplacer chaque tick.
Cas de 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
Référence à l'implémentation de Python 3 qui crée également un visuel: Essayez-le en ligne!
C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
robber acceleration, cop speed, robber position
place)?