內容 :
根據最新的生態學研究報導,在台北市植物園的蓮花池中,發現了一種奇特的海藻,此種海藻的外形具有一種十 分特殊的性質:
種子落地後,經過一天的時間,會先長出一根長一公分的綠色分枝。
綠色的分枝,經過一天的時間後,會向上成長一公分,並且變成黃色。
黃色的分枝,經過一天的時間後,會向上成長一公分,並且分成左右兩個分枝,其中左分枝為綠色,右分枝為黃色。
所有的分枝都不會互相交錯,同時恰好成長在同一個平面上。
舉例來說,若我們由左而右俯視觀察此海藻每天的生長情形,則在種子落地後的第一天,觀察結果為『綠』,第 二天的觀察結果為『黃』,第三天的觀察結果為『綠黃』,第四天的觀察結果為『黃綠黃』, 第五天的觀察結果為『綠黃黃綠黃』,依此類推。
請寫一個程式,預測在第 N 天時,由左邊數來第 K 個分枝的顏色為何。
輸入說明 :
每個測資點中的第一行有一個正整數 M 代表此測資點中共有 M 組測試資料
每組測試資料含有兩個以空白相間隔的正整數,分別依次為 N 與 K
為方便起見,所有的測試資料皆滿足 0 < M < 100,0 < N < 100 且 0 < K < 2000000000
輸出說明 :
每行輸出第 N 天時
由左邊數來第 K 個分枝的顏色(請用數字 0 代表綠色,1 代表黃色)
若第 N 天時,此海藻的分枝數少於 K,則輸出 -1
範例輸入 :
3
3 1
5 5
6 100
範例輸出 :
0
1
-1
Dim mycount, former, latter As Integer
回覆刪除Dim day(100) As String
Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
day(1) = "0": day(2) = "1": day(3) = "01": day(4) = "101"
For i = 5 To 10
temp = day(i - 1)
temp = Replace(temp, "0", "#")
temp = Replace(temp, "1", "01")
day(i) = Replace(temp, "#", "1")
Next
Input #1, mycount
For ii = 1 To mycount
Input #1, former, latter
If latter > Len(day(former)) Then Print #2, -1
If latter <= Len(day(former)) Then Print #2, Mid(day(former), latter, 1)
Next
Close #2
Close #1
End
End Sub