QOJ.ac

QOJ

حد الوقت: 1.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 إخراج فقط

#17747. Решение уравнений

الإحصائيات

Это задача с выводом ответов. Другими словами, тестовые данные доступны вам, и вы должны вычислить ответы на своем компьютере и отправить их в виде текстового файла, вместо отправки программы.

Бобер-трудоголик начал делать домашнее задание по математике за несколько часов до дедлайна (не делайте так!). В домашнем задании 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}$

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.