內容 :
根據最新的生態學研究報導,在台北市植物園的蓮花池中,發現了一種奇特的海藻,此種海藻的外形具有一種十 分特殊的性質:
種子落地後,經過一天的時間,會先長出一根長一公分的綠色分枝。
綠色的分枝,經過一天的時間後,會向上成長一公分,並且變成黃色。
黃色的分枝,經過一天的時間後,會向上成長一公分,並且分成左右兩個分枝,其中左分枝為綠色,右分枝為黃色。
所有的分枝都不會互相交錯,同時恰好成長在同一個平面上。
舉例來說,若我們由左而右俯視觀察此海藻每天的生長情形,則在種子落地後的第一天,觀察結果為『綠』,第 二天的觀察結果為『黃』,第三天的觀察結果為『綠黃』,第四天的觀察結果為『黃綠黃』, 第五天的觀察結果為『綠黃黃綠黃』,依此類推。
請寫一個程式,預測在第 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 St 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
Input #1, XXX
For i = 1 To XXX
Input #1, Da, Q
K = 1
St = "A"
Do
K = K + 1
St = Replace(St, "A", "C")
St = Replace(St, "B", "AB")
St = Replace(St, "C", "B")
Loop Until K = Da
If Mid(St, Q, 1) = "A" Then
Print #2, "0"
ElseIf Mid(St, Q, 1) = "B" Then
Print #2, "1"
Else
Print #2, "-1"
End If
Next i
Close #2
Close #1
End
End Sub
BY小白
Dim ans As String
回覆刪除Public Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, n
For i = 1 To n
Input #1, k, m
ans = "0"
For j = 2 To k
nans = ""
For g = 1 To Len(ans)
If Mid(ans, g, 1) = "0" Then
nans = nans & "1"
Else
nans = nans & "01"
End If
Next g
ans = nans
Next j
If Mid(nans, m, 1) <> "" Then
Print #2, Mid(nans, m, 1)
Else
Print #2, -1
End If
Next i
Close #2
Close #1
End
End Sub
by Yung