printРабочее место участника

printЗадачи

72. Checker

Ограничения: время – 4s/8s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2)

Требуется написать проверяющую программу для задачи:
Вывести все разложения натурального N () в виде суммы натуральных слагаемых. Разложения, отличающиеся порядком слагаемых, считаются одинаковыми.
Пример ввода
4
Возможный вывод для этого ввода
1+1+1+1
1+2+1
2+2
1+3
Входной файл в первой строке содержит `N`, затем идёт перевод строки, и вся оставшаяся часть файла – это вывод программы, решающей (верно или неверно) исходную задачу. Гарантируется, что размер входного файла не превышает 1 Мб.
В выходной файл нужно вывести один из трёх ответов: "Accepted" – если представлены все разложения в корректной форме, "Wrong answer" – если какое-то разложение повторяется или какого-то не хватает, "Presentation error" – если формат выходных данных исходной задачи не соблюдается, а именно:
  • вывод пуст
  • есть пустые строки
  • в какой-то строке есть символы, кроме цифр и плюса
  • в строке нет плюса, строка начинается или заканчивается плюсом, есть два плюса подряд
  • число начинается с нуля
  • сумма чисел в строке не равна заданному `N`
Ошибка Presentation error имеет приоритет над Wrong answer – если в начале файла есть две одинаковые строки, а в конце файла есть пробел, то ответ Presentation error.

Пример ввода 1

3
1+2
1+1+1

Пример вывода 1

Accepted

Пример ввода 2

3
1+2

Пример вывода 2

Wrong answer

Пример ввода 3

3
I don't know

Пример вывода 3

Presentation error
Источник: VII межвузовская олимпиада по программированию Вологда, 2004
loading