Задний план:
Джек - тыква, которая любит пугать жителей деревень возле тыквенного участка каждый Хэллоуин. Однако каждый год после того, как кто-то зажигает свечу внутри него, у него есть ограниченное количество времени, чтобы напугать всех до того, как свеча сгорит, таким образом, он не может больше напугать жителей деревни, потому что никто его не видит. В прошлые годы он смог напугать лишь небольшое количество деревень из-за своего плохого принятия решений, но теперь, когда он попросил вас помочь ему, он сможет напугать как можно больше деревень!
Задача:
Учитывая список населенных пунктов и продолжительность жизни свечей, выведите максимальное количество деревень, которые Джек может посетить. Вам не нужно печатать сам путь.
Входные данные:
Срок службы свечи и список населенных пунктов в декартовой системе координат. Тыквенный патч, из которого происходит Джек, всегда будет в 0,0. Вы можете отформатировать ввод по своему усмотрению. Чтобы упростить движения Джека, он может двигаться только горизонтально, вертикально или по диагонали, а это означает, что его свеча будет терять 1 или 1,5 (по диагонали) единицы жизни за каждый ход. Свеча перегорает, когда срок службы меньше или равен 0.
Выход:
Целое число, равное максимальному количеству деревень, которые Джек может посетить, прежде чем погаснет свеча.
Правила:
Это код-гольф , поэтому выигрывает самый короткий код в байтах. Стандартные лазейки не допускаются.
Тестовые случаи:
// Format [lifespan] [list of village coordinates] -> [maximum visit-able villages]
4 -1,0 1,0 2,0 3,0 4,0 5,0 -> 3
4 1,1 2,2 3,3 -> 2
5 1,1 2,1 3,1 4,1 5,0 5,1 -> 4