Думайте о дороге как о числовой линии, начинающейся 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вместо этого)?