Помощ с задача 9.Anonymous Threat ?
Здравейте! Въпросната задача ми дава 40/100 точки. Защо?
Здравейте! Въпросната задача ми дава 40/100 точки. Защо?
Здравей! Решението ти ми се струва леко усложнено и, за съжаление, нямам възможност да потърся грешки в кода ти. Затова предлагам да сравниш с решението ми, което дава 100 точки.
strings = input().split()
command = ''
while command != '3:1':
tokens = input().split()
command = tokens[0]
if command == 'merge':
start_index = int(tokens[1])
end_index = int(tokens[2])
start_index = max(0, start_index)
end_index = min(len(strings) - 1, end_index)
if start_index <= end_index:
merged = ''.join(strings[start_index:end_index + 1])
strings = strings[:start_index] + [merged] + strings[end_index + 1:]
elif command == 'divide':
index = int(tokens[1])
partitions = int(tokens[2])
string_to_divide = strings.pop(index)
part_length = len(string_to_divide) // partitions
remainder = len(string_to_divide) % partitions
divided_strings = []
start = 0
for i in range(partitions):
current_part_length = part_length
if i == partitions - 1:
current_part_length += remainder
part = string_to_divide[start:start + current_part_length]
divided_strings.append(part)
start += current_part_length
strings[index:index] = divided_strings
result = ''
for element in strings:
result += f"{element} "
print(result.strip())