d907. 3. 城市走法計數
標籤 :
通過比率 : 85人/92人 ( 92% ) [非即時]
評分方式:
Tolerant

最近更新 : 2011-09-14 11:33

內容

在網路上做地圖查詢,例如查詢Google Map,可以知道某一點走到某一點的路徑,甚至於用滑鼠拖拉可以自行更改路徑。這些路徑,不管是系統建議的,或是自行拖拉更改的,都是走得通的。也就是說,電腦必須知道任意兩個地點,有哪些路徑走得通,才能做出自動建議,並允許使用者修改。

要達到這樣的功能,所需要的資料表達方式與考慮因素很多。在此,我們將問題簡化。假設有多個城市(或地點),任意兩個城市之間只記錄有沒有路徑可通,那麼我們可以用圖形或矩陣來表達城市之間的路徑狀況,從中就可以推測並回答如下的問題:哪兩個城市沒有路徑可通?哪兩個城市必須剛好經過幾個城市才能走通,而且總共有幾種走法?

請參考下面的圖(如圖五)與矩陣(如圖六),所顯示的路徑狀況。一般而言,n個城市之間的路徑狀況,在電腦中可以用一個矩陣M來表達。其中M的每一列由上而下分別代表城市1到城市n,其每一行由左至右,也代表城市1到城市n,因此矩陣M的「第i列第j行」的值若為「1」,則代表城市i到城市j有一條直達路徑,其值若為「0」,則代表城市i到城市j沒有直達路徑。

 

 

請根據上面的描述與範例,試寫程式,完成下列要求:
輸入說明

第一列為城市個數,假設為n (1≤ n ≤ 10)。

第二列到第n+1列為上述矩陣的第1列到第n列,每一列由n個數字(0或1)表示,第i個數字表示該列中第i行的值,數字與數字中間沒有空格。

第n+2列為某一城市的編號,稱為i。

第n+3列為另一城市的編號,稱為j (i ¹ j)。

第n+4列為某一整數,稱為s (1≤ s ≤ 10)。
輸出說明

請由螢幕輸出三列數字,說明如下:

第一列輸出從城市i,經過s個城市(可重複)後,到達城市j的不同走法個數。

第二列與第三列輸出不管經過幾個城市,都無法走通的其中一對城市,且此對城市的編號都是最小,而且第二列的值小於第三列的值;若沒有走不通的城市,則都輸出0。(詳見範例與說明)
範例輸入 #1
輸入範例一
4
0110
1000
1001
0010
1
3
2


輸入範例二
4
0100
1000
0000
0000
1
2
1
範例輸出 #1
輸出範例一
3
0
0


輸出範例二
0
1
3
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (20%): 2.0s , <1K
公開 測資點#1 (20%): 2.0s , <1K
公開 測資點#2 (20%): 2.0s , <1K
公開 測資點#3 (20%): 2.0s , <1K
公開 測資點#4 (20%): 2.0s , <1K
提示 :
標籤:
出處:
99學年度北基區資訊學科能力競賽 [管理者: pcshic (PCSHIC) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」