题库练习 等价表达式
← 上一题 下一题 →

A3591 | 等价表达式

来源NOIP提高组 / 2005
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

明明进了中学之后,学到了代数表达式。有一天,他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式是和题干中的表达式等价的。


这个题目手算很麻烦,因为明明对计算机编程很感兴趣,所以他想是不是可以用计算机来解决这个问题。假设你是明明,能完成这个任务吗?


这个选择题中的每个表达式都满足下面的性质:


1.表达式只可能包含一个变量‘a’。


2.表达式中出现的数都是正整数,而且都小于10000。

输入格式

每组输入数据的第一行给出的是题干中的表达式。第二行是一个整数n(2 <=n <=26),表示选项的个数。后面n行,每行包括一个选项中的表达式,表达式中没有空格。这n个选项的标号分别是A,B,C,D...


输入中的表达式的长度都不超过50个字符,而且保证选项中总有表达式和题干中的表达式是等价的。






数据规模:


对于30%的数据,表达式中只可能出现两种运算符‘+’和‘-’;


对于其它的数据,四种运算符‘+’,‘-’,‘*’,‘^’在表达式中都可能出现。


对于全部的

输出格式

每组输出包括一行,这一行包括一系列选项的标号,表示哪些选项是和题干中的表达式等价的。选项的标号按照字母顺序排列,而且之间没有空格。

输入输出样例

输入 #1
(a+1)^2
3
(a-1)^2+4*a
a+1+a
a^2+2*a*1+1^2+10-10+a-a
输出 #1
AC
C++ 编辑器
输入
输出