Это задача с выводом ответов. Другими словами, тестовые данные доступны вам, и вы должны вычислить ответы на своем компьютере и отправить их в виде текстового файла, вместо отправки программы.
Бобер-трудоголик начал делать домашнее задание по математике за несколько часов до дедлайна (не делайте так!). В домашнем задании 100 вопросов; сколько из них успеет решить Бобер до окончания соревнования?
Каждый вопрос представляет собой систему уравнений (подробности о том, как выглядят эти уравнения, см. в разделе «Входные данные»). Задача состоит в том, чтобы найти положительные целые решения для как можно большего количества этих систем. Каждая система оценивается в один балл, всего 100 баллов.
Входные данные
Пожалуйста, скачайте тестовые данные по ссылке.
Каждая система уравнений начинается со строки, содержащей два числа: количество переменных $N$ в уравнениях (обозначаемых соответствующим количеством первых букв алфавита) и количество уравнений $K$. Далее следуют $K$ строк, каждая из которых содержит одно уравнение.
Каждое слагаемое в левой части уравнения отформатировано просто как [положительный целый коэффициент, не более 1000][список из не более 6 переменных]; левая часть всегда представляет собой сумму не более 20 таких слагаемых (разделенных знаками «плюс»: ни одно слагаемое не имеет отрицательного коэффициента), а правая часть всегда является положительным целым числом. Степени не используются; например, $a^2bc$ может быть записано как aabc или caab.
Каждая система уравнений имеет решение, в котором все переменные не превышают $10^{12}$. Уравнения были сгенерированы с помощью простого случайного метода и не предназначены для вызова худшего случая работы какого-либо алгоритма.
Выходные данные
Сначала выведите положительное целое число $A$ ($1 \le A \le 100$) на отдельной строке: количество систем уравнений, которые вы решили.
Затем выведите $A$ строк, каждая из которых содержит индекс решенной вами системы (от 1 до 100), за которым следует список положительных целых чисел, разделенных пробелами: значения переменных в алфавитном порядке.
Например, если вы решили систему уравнений 5 и ответом было $a = 1234$, $b = 5678$, а также решили систему 10 и ответом было $a = 123$, $b = 456$, $c = 789$, ваш выходной файл может выглядеть так:
2 5 1234 5678 10 123 456 789
Каждая система уравнений может быть указана в качестве индекса не более одного раза. Ваши $A$ решений не обязательно должны быть в каком-либо определенном порядке (вы можете вывести решение для системы 10 перед решением для системы 5). Если существует несколько решений, выведите любое решение, в котором все переменные не превышают $10^{18}$ (хотя, как упоминалось выше, все системы имеют решения, в которых все переменные не превышают $10^{12}$).
Подзадачи
Если формат вашего вывода неверный или если какое-либо из предоставленных вами решений для любой системы уравнений неверно, вы получите ноль баллов. В противном случае вы получите $A$ баллов.
Чтобы помочь вам спроектировать алгоритм, мы приводим таблицу с информацией о 100 системах уравнений ниже, где $M$ — это число, такое что система имеет решение, в котором все переменные не превышают $M$:
- Системы 1-2: $N = 1$, $K = 1$, $M = 10$
- Системы 3-7: $N = 1$, $K = 1$, $M = 10^{12}$
- Системы 8-9: $N = 2$, $K = 2$, $M = 10^{3}$
- Системы 10-12: $N = 2$, $K = 2$, $M = 10^{6}$
- Системы 13-20: $N = 2$, $K = 2$, $M = 10^{12}$
- Системы 21-24: $N = 3$, $K = 3$, $M = 10^{3}$
- Системы 25-33: $N = 3$, $K = 3$, $M = 10^{6}$
- Системы 34-40: $N = 3$, $K = 3$, $M = 10^{12}$
- Системы 41-57: $N = 3$, $K = 2$, $M = 10^{7}$
- Системы 58-60: $N = 2$, $K = 1$, $M = 10^{7}$
- Системы 61-70: $N = 2$, $K = 1$, $M = 10^{9}$
- Системы 71-83: $N = 2$, $K = 1$, $M = 10^{10}$
- Системы 84-92: $N = 2$, $K = 1$, $M = 10^{11}$
- Системы 93-100: $N = 2$, $K = 1$, $M = 10^{12}$