#ZL32505. 因式分解实验室

    ID: ZL32505 传统题 2000ms 128MiB 尝试: 0 已通过: 0 普及 上传者: 标签>M3M3第二学期M3-第25课一元二次方程一元二次方程、标准形式、零积性质与因式分解法判别式因式分解算法相关算法-命令模拟算法-整数平方根作业题

因式分解实验室

因式分解实验室

题目描述

维护首一方程x²+bx+c=0。ROOTS输出整数根;CHECK t检验;FACTOR输出(x+m)(x+n)的m、n;BUILD r1 r2以给定根构造方程;SET b c设置;PRINT输出b c;RESET恢复初始方程。

输入格式

第一行输入初始b、c;第二行输入命令数q;接下来q行各输入一条命令。

数据范围与约定

  • b,c109|b|,|c|\le 10^91q2×1051\le q\le 2\times 10^5
  • CHECKBUILDSET 中出现的整数绝对值不超过 10910^9;每次 BUILDSET 后得到的当前 b,cb,c 仍满足 b,c109|b|,|c|\le 10^9
  • 整数根可能远离零点,不保证落在某个固定扫描区间内;应使用判别式或等价的整数关系判断。
  • 判断 CHECK 以及构造新方程时,中间乘法应使用足够宽的整数类型。

输出格式

ROOTS、CHECK、FACTOR、PRINT各输出一行;BUILD、SET、RESET不输出。无整数分解时FACTOR输出NO_INTEGER_FACTORIZATION,ROOTS输出NO_INTEGER_ROOTS。

样例

输入

-5 6
10
ROOTS
CHECK 2
FACTOR
BUILD -1 4
PRINT
ROOTS
SET 2 -15
FACTOR
RESET
PRINT

输出

ROOTS 2 3
YES
FACTOR -3 -2
-3 -4
ROOTS -1 4
FACTOR -3 5
-5 6