Думайте о дороге как о числовой линии, начинающейся 0
и продолжающейся до бесконечности:
.................................................................
На дороге две машины: C
а R
. C
это полицейский, который пытается поймать R
, грабитель. C
начинается с 0
и R
начинается где-то на дороге:
C.............................R..................................
Полицейский уже движется - он преследует грабителя. У него постоянная скорость. Грабитель только что запрыгнул в его машину. Он ускоряется. Каждый тик, скорость грабителя увеличивается на его ускорение.
Скажем, скорость полицейского равна, 7
а скорость грабителя равна 1
. Если грабитель начинает 30
, это то, как дорога будет выглядеть каждый тик:
C.............................R..................................
.......C.......................R.................................
..............C..................R...............................
.....................C..............R............................
............................C...........R........................
...................................C.........R...................
..........................................C........R.............
.................................................C........R......
После последней отметки выше скорость грабителя равна скорости полицейского, и он все еще впереди. Поскольку полицейский движется с постоянной скоростью, а грабитель все еще ускоряется, грабитель убегает, поэтому вы выводите истинное значение. Однако, если скорость полицейского была 9
...
C.............................R..................................
.........C.....................R.................................
..................C..............R...............................
...........................C........R............................
....................................C...R........................
.............................................X...................
... затем полицейский догоняет грабителя, прежде чем грабитель может уйти (помеченный знаком X
), поэтому вы выводите значение фальси.
Твое задание
Учитывая три входа - скорость полицейского, положение грабителя и ускорение грабителя - определяют, уйдет ли грабитель или нет.
правила
- Коп всегда начинается в
0
. - Все входные данные будут положительными целыми числами.
- Полицейский ловит грабителя, если после какого-либо тика позиция копа больше или равна позиции грабителя.
- Грабитель убегает, когда его еще не поймали, и его скорость больше, чем у полицейского.
- Ваша программа должна завершиться после вывода.
- Грабитель ускоряется, прежде чем он перемещает каждый тик.
Тестовые случаи
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
Ссылка на реализацию Python 3, которая также создает визуал: попробуйте онлайн!
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
robber acceleration, cop speed, robber position
вместо этого)?