內容 :
由於阿許吹的哨聲根本沒人聽懂,
所以到現在他還是迷失在深山中。
此時,
同樣在深山迷路的小綠跟阿波出現了!
小綠說:阿許!原來是你在吹哨!我還想說是什麼奇怪的聲音呢!
阿波說:哈哈你連哨子都不會吹,求救的哨音應該是幾個短音幾個長音吧 ... 順序我也忘了耶!
這時三個人拿著哨子不知如何是好,請你幫幫忙吧!
給你 n 個短音 m 個長音,輸出這個哨音的所有吹法。
輸入說明 :
每組測試資料包含兩個整數 n, m 。( 0 ≤ n, m ≤ 10 )
輸出說明 :
請輸出 n 個短音 m 個長音的所有排法,
每組輸出之間保留一空行。
範例輸入 :
2 1
3 2
範例輸出 :
SSL
SLS
LSS
SSSLL
SSLSL
SSLLS
SLSSL
SLSLS
SLLSS
LSSSL
LSSLS
LSLSS
LLSSS
Dim a(20), n, m
回覆刪除Dim b As Boolean
Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Do While Not EOF(1)
Input #1, n, m
For i = 1 To (n + m)
If i <= n Then
a(i) = "S" & i
Else
a(i) = "L" & i
End If
Next
Call abc("")
For i = 0 To List1.ListCount
Print #2, List1.List(i)
Next
List1.Clear
Loop
Close
Close
End
End Sub
Sub abc(t)
If Len(t) = (n + m) * 2 Then
b = True
For i = 1 To n + m
t = Replace(t, i, "")
Next
For i = 0 To List1.ListCount
If List1.List(i) = t Then b = False: Exit For
Next
If b = True Then List1.AddItem t
Else
For i = 1 To (n + m)
If InStr(t, a(i)) = 0 Then Call abc(t & a(i))
Next
End If
End Sub