2012年11月20日 星期二

一串數字


噢噢,有個很可愛的女生叫做小樺,她正在排骨牌,每片骨牌上都恰有一個數字。她想要選出其中的幾張骨牌,在不更動順序的情況下,找到這些骨牌所能組合的最大數。
輸入說明 :
每次輸入有多組測資,每組測資佔一行。
在每組測資中,會先有一串數字,依序代表每片骨牌上的數字,最後有一個正整數n(在int範圍以內),代表她要選出其中的幾張骨牌組合成她想要的數。
輸出說明 :
請輸出小樺所組合出的那個最大的數。

範例輸入 :
987645821 6 
123456789 8 
95655645  1

範例輸出 :
987821 
23456789 
9

提示 :
987645821
123456789
95655645

1 則留言:

  1. Dim strr, ans As String
    Dim need As Integer

    Private Sub Command1_Click()

    End Sub

    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
    Input #1, strr, need
    For i = 1 To Len(strr)
    List1.AddItem Mid(strr, i, 1) - 10000
    Next
    Do
    For i = 0 To List1.ListCount - 1
    lenth = Len(strr)
    If lenth - InStr(strr, List1.List(i) + 10000) >= need - 1 And InStr(strr, List1.List(i) + 10000) <> 0 Then
    strr = Right(strr, lenth - InStr(strr, List1.List(i) + 10000))
    ans = ans & (List1.List(i) + 10000)
    need = need - 1
    List1.RemoveItem (i)
    Exit For
    End If
    Next
    Loop Until need = 0
    Print #2, ans
    List1.Clear
    ans = ""
    Loop Until EOF(1)
    Close #2
    Close #1
    End
    End Sub

    回覆刪除