Форум » Обработка числовых последовательностей » Задача 2670 » Ответить

Задача 2670

Татьяна Сучкова: Не пойму где ошибка! Алгоритм прошел тестовый прогон (тест в тексте задачи), но при обработке файлов ответ не сходится [pre2] f = open('27.2670-a.txt') n = int(f.readline()) s = 0 mr = 100000 for i in range(n): a = f.readline() x = int(a.split()[0]) y = int(a.split()[1]) z = int(a.split()[2]) m = 0 if x>y and x>z: m = x if y>x and y>z: m = y if z>x and z>y: m = z s+=m if (abs(x-y) < mr) and (abs(x-y) % 4 != 0): mr = abs(x-y) if (abs(y-z) < mr) and (abs(y-z) % 4 != 0): mr = abs(y-z) if (abs(z-x) < mr) and (abs(z-x) % 4 != 0): mr = abs(z-x) print(s) print(mr) print(s - mr) if s % 4 == 0: print(s- mr) else: print(s)[/pre2]

Ответов - 2

Поляков: Татьяна Сучкова пишет: Алгоритм прошел тестовый прогон (тест в тексте задачи), но при обработке файлов ответ не сходится Во-первых, даже на примере данных в условии программа выдает неверный ответ. Во-вторых, вы не учитываете вариант, когда какие-то два (или все три) значения в строке равны. В-третьих, если вы выбрали из тройки x, то возможны только замены x-y и y-z, а вы считаете возможной и замену y-z.

Татьяна Сучкова: Спасибо огромное, я поняла!!!



полная версия страницы