QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB

#19601. 相等就是相等

Statistics

Simpson 先生起床时略感疲惫。又一个辛苦工作的日子开始了。办公室的书桌上有一叠等待他检查的试卷,里面是学生对数学课问题的回答,但这些答案看起来仿佛只是墨水污迹。

他的头疼来自学生的“创造力”。他们为每道题提供了各种各样的答法。他自己为每道题准备了答案,当然是正确的,而且从他的审美角度看也是最好的。

一些学生写出的代数式与预期答案等价,但字面形式与 Simpson 先生的答案相差很大。有些学生写出的代数式不与他的答案等价,却看起来十分相似。只有少数学生的答案与他的完全相同。

他的职责是检查每个表达式是否与他准备的答案在数学上等价,以免与他的答案等价的表达式被判为“错误”,即使这些表达式不符合他的审美标准。

他已经花了五天检查这些表达式。突然,他站起来喊道:“我受够了!我必须寻求帮助。”

你的任务是编写程序,帮助 Simpson 先生判断每个答案是否与“正确”答案等价。试卷上的代数式是以变量符号 $a,b,\ldots,z$ 为变量、系数为整数的多元多项式,例如 $(a+b^2)(a-b^2)$、$ax^2+2bx+c$ 和 $(x^2+5x+4)(x^2+5x+6)+1$。

Simpson 先生会按照试卷原样输入每个答案表达式;他保证输入的代数式是一串由加法运算符 + 和 - 分隔的项,表示用这些运算符求各项的和(如果有这些运算符)。一个项是并列写出的多个因子,表示它们的乘积。一个因子可以是:(a) 用十进制数字串表示的非负整数;(b) 一个变量符号(小写字母 a 到 z 之一),其后可以跟符号 ^ 和一个非零数字,表示该变量的幂;或 (c) 括号括起的代数式,递归定义。注意,运算符 + 或 - 只作为二元运算符出现,不会作为指定操作数正负号的一元运算符。

他说,如果一个整数紧跟在另一个整数或符号 ^ 后的数字之后,会在该整数前放一个或多个空格。他还说,为使表达式易读,可以在各处加空格,但绝不会在一个整数的两个连续数字之间加空格。这些表达式并不太复杂:将任意表达式中的 - 替换为 + 后,即使完全展开成系数与变量幂乘积的和,也不会出现变量的 $10$ 次幂,或超过十亿的系数。

输入格式

输入由一系列行块组成。一个行块包含若干行,每行是一个表达式,最后是一行终止行。最后一个行块之后还有另一行终止行。终止行只包含一个句点。

每个行块的第一个表达式由 Simpson 先生准备;块内其后的所有表达式都是学生的答案。表达式由小写字母、数字、运算符 +、-、^、括号 (、) 和空格组成。包含表达式的一行不超过 80 个字符。

输出格式

对于每个学生答案,程序应根据其是否在数学上等价于预期答案,输出一行且只包含 yes 或 no。在每个行块之后,程序应输出一行且只包含一个句点。

样例

输入格式 1

a+b+c
(a+b)+c
a-(b-c)+2
.
4ab
(a - b)(0-b+a) - 1a ^ 2 - b ^ 2
2 b 2 a
.
108 a
2 2 3 3 3 a
4 a^1 27
.
.

输出格式 1

yes
no
.
no
yes
.
yes
yes
.

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.