Итак, я решил заняться конкурсным программированием на CodeChef. Я видел проблему. Но я продолжаю получать ошибку времени выполнения (NZEC), и я не знаю, почему, поскольку я думал, что ошибка произошла только тогда, когда я вызываю из связанных элементов массива и бесконечных циклов, которые занимают слишком много памяти.Python: ПОМОЩЬ получить ошибку времени выполнения (NZEC)
Проблема
1.) Получить 2 входы A и B
2.) границы: 1 ≤ B < A ≤ 10000
3.) Тогда я AB и изменить одну цифру ответа
4.) Затем я вернуть его
Примечание: Время Лимит 1 сек, максимальный размер исходного кода 50,000bytes
например
input A >> 95
input B >> 50
output >> 35
Фактический ответ 45, но мы призваны изменить одну цифру ответа
Так что это было мое решение
from random import randint
test1 = True
test2 = True
while test1:
A = int(input("Enter a number: "))
if (A>=1) and (A<=10000):
test1 = False
else:
print("Number must be greater or equal to 1 and less than or equalts to 10,000")
while test2:
B = int(input("Enter a second number: "))
if (B>=1) and (B<=10000) and (B<A):
test2 = False
else:
print("Number must follow rules as above BUT must be less than your first")
solution = str(A-B)
range1 = randint(0, len(solution)-1)
range2 = randint(0,9)
replacement = list(range(0,10))
new_solution = solution.replace(solution[range1], str(replacement[range2]))
print(new_solution)
Я посмотрел на другие ответы. Они даже не включали код для тестирования, если пользователь следовал за границами. Так что определенно, тестирование входных строк не является проблемой, вероятно, ограничением времени выполнения, но я не уверен. –