Fundo:
Jack é uma abóbora que gosta de assustar os cidadãos das aldeias perto de seu canteiro de abóboras todo Halloween. No entanto, todos os anos depois que alguém acende a vela dentro dele, ele tem um tempo limitado para assustar a todos antes que a vela se queime, sendo incapaz de assustar mais os moradores porque ninguém pode vê-lo. Nos últimos anos, ele só conseguiu assustar uma pequena quantidade de aldeias devido à sua má tomada de decisões, mas agora que ele tem você para ajudá-lo, ele poderá assustar o maior número possível de aldeias!
Tarefa:
Dada uma lista dos locais das aldeias e o tempo de vida das velas, produza o número máximo de aldeias que Jack pode visitar. Você não precisa imprimir o caminho em si.
Entrada:
A vida útil da vela e uma lista de localidades da vila em um sistema de coordenadas cartesianas. O canteiro de abóboras das quais Jack se origina sempre será 0,0. Você pode formatar a entrada da maneira que desejar. Para simplificar os movimentos de Jack, ele só pode se mover horizontalmente, verticalmente ou diagonalmente, o que significa que sua vela perderá 1 ou 1,5 (ele demora um pouco mais na diagonal) unidades de vida a cada movimento. A vela queima quando a vida útil é menor ou igual a 0.
Saída:
Um número inteiro igual ao número máximo de aldeias que Jack pode visitar antes que a vela se apague.
Regras:
Isso é código-golfe , então o código mais curto em bytes vence. As brechas padrão não são permitidas.
Casos de teste:
// 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