🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
vous recevrez une ligne "emballée" selon une certaine règle : k [sujet] signifie que le sujet sujet à l'intérieur des crochets est répété exactement k fois. Le nombre k est toujours un entier positif. Votre tâche — "déballer" la ligne initiale.
notez que les lignes peuvent être imbriquées les unes dans les autres. Par exemple, 3[a2[c]] signifie que la ligne a2[c] est répétée 3 fois. Vous devez d'abord déballer la partie interne 2[c] en cc , puis la substituer dans a... , obtenant acc , et à la fin, répéter acc 3 fois pour obtenir accaccacc .
Une ligne sans espaces contenant les lettres minuscules de l'alphabet latin, les chiffres et les crochets & nbsp;
Une ligne & mdash; Le résultat du déballage complet.
3 [a] 2 [bc]
aaabcbc
def unpack_string(s: str) -> str:
"""
Распаковывает строку вида k[substring], включая вложенные структуры.
"""
stack = []
current_num = 0
current_string = ''
for char in s:
if char.isdigit():
# Собираем число, если оно многозначное (например, 10, 12)
current_num = current_num * 10 + int(char)
elif char == '[':
# Начало новой подстроки. Сохраняем текущее состояние в стек.
# Сохраняем текущую строку и число-повторитель для нее.
stack.append(current_string)
stack.append(current_num)
# Сбрасываем переменные для нового уровня вложенности.
current_string = ''
current_num = 0
elif char == ']':
# Конец подстроки. Достаем из стека предыдущее состояние.
num = stack.pop()
prev_string = stack.pop()
# Формируем новую текущую строку, повторяя распакованный фрагмент
# и добавляя его к строке предыдущего уровня.
current_string = prev_string + current_string * num
else:
# Просто добавляем букву к текущей строке.
current_string += char
return current_string
input_string = input()
result = unpack_string(input_string)
print(result)
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...