Latar Belakang:
Jack adalah labu yang suka menakuti penduduk desa di dekat petak labu setiap Halloween. Namun, setiap tahun setelah seseorang menyalakan lilin di dalam dirinya, ia memiliki waktu terbatas untuk menakuti semua orang sebelum lilin habis, sehingga tidak dapat menakuti penduduk desa lagi karena tidak ada yang bisa melihatnya. Dalam beberapa tahun terakhir, dia hanya mampu menakuti sejumlah kecil desa karena keputusannya yang buruk, tetapi sekarang dia memiliki Anda untuk membantunya, ia akan mampu menakuti desa sebanyak mungkin!
Tugas:
Diberikan daftar lokasi desa dan masa hidup lilin, hasilkan jumlah maksimum desa yang dapat dikunjungi Jack. Anda tidak harus mencetak jalur itu sendiri.
Memasukkan:
Umur lilin dan daftar lokasi desa dalam sistem koordinat Kartesius. Patch labu tempat Jack berasal akan selalu sebesar 0,0. Anda dapat memformat input sesuai keinginan Anda. Untuk menyederhanakan gerakan Jack, ia hanya bisa bergerak secara horizontal, vertikal, atau diagonal, yang berarti lilinnya akan kehilangan 1 atau 1,5 (dia butuh sedikit lebih lama secara diagonal) unit kehidupan setiap gerakan. Lilin menyala ketika umur kurang dari atau sama dengan 0.
Keluaran:
Bilangan bulat dengan jumlah maksimum desa yang dapat dikunjungi Jack sebelum lilin habis.
Aturan:
Ini adalah kode-golf , jadi kode terpendek dalam byte menang. Tidak ada celah standar.
Kasus uji:
// 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