網(wǎng)站建設(shè)與管理讀書(shū)心得推廣品牌的方法
1、dfs + 路徑打印
小明冒充X星球的騎士,進(jìn)入了一個(gè)奇怪的城堡。
城堡里邊什么都沒(méi)有,只有方形石頭鋪成的地面。假設(shè)城堡地面是 n x n 個(gè)方格?!救鐖D1.png】所示。
按習(xí)俗,騎士要從西北角走到東南角。
可以橫向或縱向移動(dòng),但不能斜著走,也不能跳躍。
每走到一個(gè)新方格,就要向正北方和正西方各射一箭。
(城堡的西墻和北墻內(nèi)各有 n 個(gè)靶子)同一個(gè)方格只允許經(jīng)過(guò)一次。但不必走完所有的方格。
如果只給出靶子上箭的數(shù)目,你能推斷出騎士的行走路線(xiàn)嗎?
有時(shí)是可以的,比如圖1.png中的例子。
本題的要求就是已知箭靶數(shù)字,求騎士的行走路徑(測(cè)試數(shù)據(jù)保證路徑唯一)
輸入:
第一行一個(gè)整數(shù)N(0<N<20),表示地面有 N x N 個(gè)方格
第二行N個(gè)整數(shù),空格分開(kāi),表示北邊的箭靶上的數(shù)字(自西向東)
第三行N個(gè)整數(shù),空格分開(kāi),表示西邊的箭靶上的數(shù)字(自北向南)輸出:
一行若干個(gè)整數(shù),表示騎士路徑。為了方便表示,我們約定每個(gè)小格子用一個(gè)數(shù)字代表,從西北角開(kāi)始編號(hào): 0,1,2,3....
比如,圖1.png中的方塊編號(hào)為:
0? 1? 2? 3
4? 5? 6? 7
8? 9? 10 11
12 13 14 15
示例:
用戶(hù)輸入:
4
2 4 3 4
4 3 3 3程序應(yīng)該輸出:
0 4 5 1 2 3 7 11 10 9 13 14 15
AC代碼: