ท้าทาย
ความท้าทายนี้จะมีคุณเขียนโปรแกรมที่จะใช้เวลาในสองจำนวนเต็มn
และm
และผลจำนวนไม่ใช่ตัดลูปบนn
โดยm
พรูทำโดยเริ่มต้นที่(0,0)
และมีเพียงทำตามขั้นตอนขึ้นและไปทางขวา คุณสามารถนึกถึงพรูเป็นกริดที่มีการพันรอบทั้งที่ด้านบนและด้านล่างและด้านข้าง
นี่คือรหัสกอล์ฟจำนวนน้อยที่สุดที่จะชนะ
ตัวอย่าง
ตัวอย่างเช่นถ้าอินพุตคือn=m=5
หนึ่งเดินที่ถูกต้องคือ
(0,0) -> (0,1) -> (0,2) -> (1,2) -> (2,2) -> (2,3) -> (2,4) ->
(2,0) -> (3,0) -> (4,0) -> (4,1) -> (4,2) -> (4,3) ->
(0,3) -> (1,3) -> (1,4) ->
(1,0) -> (1,1) -> (2,1) -> (3,1) -> (3,2) -> (3,3) -> (3,4) -> (4,4) ->
(0,4) -> (0,0)
ตามที่แสดงในกราฟิก
ตัวอย่างบางส่วนของอินพุต / เอาต์พุต
f(1,1) = 2 (up or right)
f(1,2) = 2 (up or right-right)
f(2,2) = 4 (up-up, up-right-up-right, right-right, right-up-right-up)
f(2,3) = 7
f(3,3) = 22
f(2,4) = 13
f(3,4) = 66
f(4,4) = 258