Submission #2179814


Source Code Expand

def get_diff(S, T):
    count = 0
    for i, j in zip(S, T):
        if i != j:
            count += 1
    return count


def can_sort_with_error(S, T, K):
    sorted_S = sorted(S)
    sorted_T = sorted(T)
    for i in sorted_S:
        if i in sorted_T:
            sorted_T.remove(i)
    return len(sorted_T) <= K

N, K = map(int, input().split())
S = input()

sorted_S = sorted(S)
T = ''

not_used_strings = sorted_S[:]

for i, (s, sorted_s) in enumerate(zip(S, sorted_S)):
    if s == sorted_s:
        T += s
        not_used_strings.remove(s)
        continue
    else:
        for j, candidate in enumerate(not_used_strings):
            if can_sort_with_error(
                S[i + 1:],
                not_used_strings[:j] + not_used_strings[j + 1:],
                K - get_diff(S[:i + 1], T + candidate)
                ):
                T += candidate
                not_used_strings.remove(candidate)
                break
        else:
            T += S[i + 1:]
            break

print(T)

Submission Info

Submission Time
Task C - 辞書式順序ふたたび
User ikazuchi
Language Python (3.4.3)
Score 100
Code Size 1052 Byte
Status AC
Exec Time 78 ms
Memory 3064 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 58
Set Name Test Cases
All hand_1_0.txt, hand_1_1.txt, hand_1_2.txt, hand_1_3.txt, hand_1_4.txt, hand_1_5.txt, hand_1_6.txt, hand_1_7.txt, hand_1_8.txt, hand_2_0.txt, hand_2_1.txt, hand_2_10.txt, hand_2_2.txt, hand_2_3.txt, hand_2_4.txt, hand_2_5.txt, hand_2_6.txt, hand_2_7.txt, hand_2_8.txt, hand_2_9.txt, hand_3_2.txt, hand_3_3.txt, hand_3_4.txt, hand_3_5.txt, hand_3_6.txt, hand_4_2.txt, hand_4_3.txt, hand_4_4.txt, hand_4_5.txt, hand_4_6.txt, random_1.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt, small_5.txt, small_6.txt, small_7.txt, small_8.txt, small_9.txt
Case Name Status Exec Time Memory
hand_1_0.txt AC 18 ms 3064 KB
hand_1_1.txt AC 17 ms 3064 KB
hand_1_2.txt AC 17 ms 3064 KB
hand_1_3.txt AC 17 ms 3064 KB
hand_1_4.txt AC 17 ms 3064 KB
hand_1_5.txt AC 17 ms 3064 KB
hand_1_6.txt AC 17 ms 3064 KB
hand_1_7.txt AC 17 ms 3064 KB
hand_1_8.txt AC 17 ms 3064 KB
hand_2_0.txt AC 17 ms 3064 KB
hand_2_1.txt AC 17 ms 3064 KB
hand_2_10.txt AC 17 ms 3064 KB
hand_2_2.txt AC 17 ms 3064 KB
hand_2_3.txt AC 17 ms 3064 KB
hand_2_4.txt AC 17 ms 3064 KB
hand_2_5.txt AC 17 ms 3064 KB
hand_2_6.txt AC 17 ms 3064 KB
hand_2_7.txt AC 17 ms 3064 KB
hand_2_8.txt AC 17 ms 3064 KB
hand_2_9.txt AC 17 ms 3064 KB
hand_3_2.txt AC 18 ms 3064 KB
hand_3_3.txt AC 17 ms 3064 KB
hand_3_4.txt AC 17 ms 3064 KB
hand_3_5.txt AC 17 ms 3064 KB
hand_3_6.txt AC 17 ms 3064 KB
hand_4_2.txt AC 18 ms 3064 KB
hand_4_3.txt AC 18 ms 3064 KB
hand_4_4.txt AC 18 ms 3064 KB
hand_4_5.txt AC 18 ms 3064 KB
hand_4_6.txt AC 18 ms 3064 KB
random_1.txt AC 19 ms 3064 KB
random_10.txt AC 78 ms 3064 KB
random_11.txt AC 56 ms 3064 KB
random_12.txt AC 75 ms 3064 KB
random_13.txt AC 51 ms 3064 KB
random_14.txt AC 26 ms 3064 KB
random_15.txt AC 20 ms 3064 KB
random_2.txt AC 21 ms 3064 KB
random_3.txt AC 20 ms 3064 KB
random_4.txt AC 28 ms 3064 KB
random_5.txt AC 19 ms 3064 KB
random_6.txt AC 35 ms 3064 KB
random_7.txt AC 64 ms 3064 KB
random_8.txt AC 72 ms 3064 KB
random_9.txt AC 75 ms 3064 KB
sample_1.txt AC 17 ms 3064 KB
sample_2.txt AC 17 ms 3064 KB
sample_3.txt AC 17 ms 3064 KB
sample_4.txt AC 17 ms 3064 KB
small_1.txt AC 17 ms 3064 KB
small_2.txt AC 17 ms 3064 KB
small_3.txt AC 17 ms 3064 KB
small_4.txt AC 17 ms 3064 KB
small_5.txt AC 17 ms 3064 KB
small_6.txt AC 17 ms 3064 KB
small_7.txt AC 17 ms 3064 KB
small_8.txt AC 17 ms 3064 KB
small_9.txt AC 17 ms 3064 KB