Uzak bir krallıkta, bir satranç kraliçesi spiral yol boyunca günlük bir yürüyüş yapar n
, 1'den numaraya, spiralin kendisini takip etmeye özen göstermez, ancak sadece bir satranç tahtasında olduğu gibi kraliçenin hareketlerini yapar. Kraliçe, denekleri tarafından sevilir ve yolunda ziyaret ettiği her kareyi not ederler. Kraliçenin herhangi bir meydanda yürüyüşüne başlayabileceği ve herhangi bir meydanda bitirebileceği göz önüne alındığında, alabileceği en kısa kraliçenin yürüyüşü nedir?
Meydan okuma
Dikdörtgen bir ızgara üzerinde tamsayıların bir sarmalı verildiğinde, bir satranç kraliçesinin hareketlerini kullanarak bu sarmal ızgaradaki iki sayı arasında mümkün olan en kısa yollardan birini (seyahat edilen hücre sayısı ile sayılır) döndüren bir işlev yazın .
Örneğin, gelen 16
için 25
:
25 10 11 12 13
24 9 2 3 14
23 8 1 4 15
22 7 6 5 16
21 20 19 18 17
Bazı olası yollar 16, 4, 2, 10, 25
ve içerir 16, 5, 1, 9, 25
.
kurallar
- Giriş herhangi iki pozitif tamsayı olacaktır.
- Çıktı, yalnızca dikey ve çapraz hareketler kullanılarak spiral boyunca bir tamsayılar yolu (her iki uç noktası dahil) olacaktır.
- Bir yolun uzunluğu, seyahat edilen hücre sayısı ile sayılır.
- Cevabınız bir program veya bir fonksiyon olabilir.
- Bu kod golf, bu yüzden en az bayt sayısı kazanır.
Her zaman olduğu gibi, sorun net değilse, lütfen bana bildirin. İyi şanslar ve iyi golf!
Test senaryoları
>>> queen_spiral(4, 5)
4, 5
>>> queen_spiral(13, 20)
13, 3, 1, 7, 20
>>> queen_spiral(14, 14)
14
>>> queen_spiral(10, 3)
10, 11, 3
>>> queen_spiral(16, 25)
16, 4, 2, 10, 25
>>> queen_spiral(80, 1)
80, 48, 24, 8, 1