2016-12-27 5 views
0

Итак, я решил заняться конкурсным программированием на 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) 

ответ

0

«NZEC» не специфическая ошибка, мы можем легко точно указать и рассказать о своей причине. Это просто означает «Код без нуля». Это может означать, что в вашем коде произошла ошибка, или выполнение кода просто слишком долго (у этих онлайн-судей обычно есть строгое ограничение времени выполнения).

Одна из возможных причин заключается в том, что онлайн-судья попытался выполнить ваш код со строковыми вводами, что вызвало ваши звонки на int(input(..)), чтобы поднять ValueError, который ваш код не улавливает.

+0

Я посмотрел на другие ответы. Они даже не включали код для тестирования, если пользователь следовал за границами. Так что определенно, тестирование входных строк не является проблемой, вероятно, ограничением времени выполнения, но я не уверен. –

 Смежные вопросы

  • Нет связанных вопросов^_^