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

printЗадачи

680. Кольцо полиномов

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

Рассмотрим множество полиномов с целочисленными коэффициентами; обозначим его `P_z(x)`. Каждый такой полином может быть задан следующим образом:
`⟨n,\ p_n,\ p_{n-1},\ …,\ p_1,p_0⟩\ ≡\ p_n\ x^n\ +\ …\ +\ p_1\ x\ +\ p_0;\ p_i\ ∈\ Z`.
Например, `⟨2,1,0,-1⟩\ ≡\ x^2\ -\ 1`. Целые числа будем считать полиномами нулевого порядка, также принадлежащими множеству.
Очевидно, что сумма и произведение двух любых таких полиномов также являются полиномами с целыми коэффициентами и принадлежат `P_z(x)` (в алгебре множества с такими свойствами называются кольцами).
Об операции деления этого в общем случае сказать нельзя: полиномы могут не делиться друг на друга без остатка (назовём этот случай абсолютной неделимостью), либо же они делятся без остатка, но их частное является полиномом, коэффициенты которого не целочисленны (относительная неделимость). Возможна и ситуация, когда полиномы делятся без остатка и частное двух полиномов `P_z(x)` принадлежит этому множеству, например `⟨2,1,0,-1⟩:⟨1,1,1⟩=⟨1,1,-1⟩\ ∈\ P_z(x)`.
Необходимо разработать программу, которая по двум полиномам множества `P_z(x)` определяет, принадлежит ли их частное при делении без остатка тому же множеству, или имеет место неделимость одного из двух типов.
Входные данные
В первых двух строках входного файла два полинома, заданные наборами чисел, как описано выше. Числа в каждой строке перечисляются через пробел. Коэффициент при самой старшей степени полинома всегда отличен от нуля. Коэффициенты полиномов `|p_i|\ ≤\ 33`, а степень полинома `0\ ≤\ n\ ≤\ 11`.
Выходные данные
Выходной файл должен содержать либо частное от деления первого полинома на второй, заданное в том же формате, в каком задан полином во входном файле, либо одно из слов "ABS"/"REL" для абсолютного и относительного типа неделимости соответственно.

Пример ввода

2 1 0 -1
1 1 1

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

1 1 -1
Источник: NEERC, Западно-Сибирский четвертьфинал, 2007
loading