#CF2052E. 表达式修正
表达式修正
E. 表达式修正
时间限制:每测试 秒 内存限制: 兆字节
问题描述
伊芙正在学校学习数学。她们已经学会了十进制数字的加减法,并通过做有趣的谜题来练习。她们正在解决的这类谜题描述如下。
她们会得到一个包含加减法的等式,这个等式可能是正确的,也可能是错误的。她们需要验证这个等式:
- 如果等式正确,直接判定正确;
- 如果等式不正确,判断是否可以通过移动一个数字到等式中的另一个位置,让它变成正确等式。
形式化定义
-
数字 由至少 位、至多 位十进制数字(~)组成的字符串,无前导零。 唯一允许以 开头的数字是 "" 本身。
-
表达式 由一个或多个上述数字通过加号 或减号 连接而成的字符串。
-
等式 格式为:表达式 = 表达式,即一个表达式、等号 、另一个表达式。
-
正确等式 等号左右两侧表达式的计算结果相等。 注意:表达式中的所有数字都是正数,但计算结果可以是负数,也可以超过 位。
-
移动一个数字 从字符串中任意位置删除一个数字字符,插入到另一个位置,使得结果仍然是一个合法等式。
你的任务是编写程序解决这个表达式修正问题。
输入格式
输入只有一行:一个题目定义的合法等式。 字符串总长度不超过 。
输出格式
- 如果输入本身就是正确等式,输出:
Correct - 如果可以移动恰好一个数字变成正确等式,输出这个正确等式(任意一个即可)
- 否则输出:
Impossible
样例输入输出
样例 1
输入
2+2=4
输出
Correct
样例 2
输入
123456789+9876543210=111111110+11-1
输出
123456789+987654321=1111111100+11-1
样例 3
输入
10+9=10
输出
Impossible
样例 4
输入
24=55-13
输出
42=55-13
样例 5
输入
1000000000-10=9999999999
输出
Impossible