2012年7月25日 星期三

一串數字


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

範例輸入 :
987645821 6 
123456789 8 
95655645  1

範例輸出 :
987821 
23456789 
9

提示 :
987645821
123456789
95655645

3 則留言:

  1. 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)
    ans = ""
    a = 0
    Input #1, x, n
    Do
    Max = 0
    For i = a + 1 To (Len(x) - n) + 1
    If Mid(x, i, 1) > Max Then Max = Mid(x, i, 1): a = i
    Next
    n = n - 1
    ans = ans & Max
    Loop Until n = 0
    Print #2, ans
    Loop
    Close
    Close
    End
    End Sub

    回覆刪除
  2. 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)
    ans = ""
    a = 0
    Input #1, x, y
    Do
    Max = 0
    For i = a + 1 To (Len(x) - y) + 1
    If Mid(x, i, 1) > Max Then
    Max = Mid(x, i, 1)
    a = i
    End If
    Next i
    y = y - 1
    ans = ans & Max
    Loop Until y = 0
    Print #2, ans
    Loop
    Close #2
    Close #1
    End
    End Sub

    回覆刪除
  3. 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, x, y
    Do Until Len(x) = Val(y)
    min1 = 99
    For i = 1 To Len(x)
    If Val(Mid(x, i, 1)) < min1 Then min1 = Mid(x, i, 1)
    Next i
    x = Replace(x, min1, "")
    Loop
    Print #2, x
    Loop
    Close #2
    Close #1
    End
    End Sub

    回覆刪除