/ Vijos / 题库 /

Crack

Crack

描述

你是一名军情局的高级技术人员,是网络方面的专家。然而因为一次意外的Hacker事件,你的真实身份竟然被注销了!你的档案里取而代之的是这样的记载:重罪杀人犯,全球一级网络通缉犯。你顿时意识到,自己被Hacker了。于是你匿藏身份,在某天夜里悄悄潜入军情局内部,探查那天Hacker事件的详细情况。

你吃惊的发现,军情局里有内鬼!然而你却找不到军情局篡改自己身份的原因。你进一步追踪,到关键时刻,要输入登录密码。擅长破译的你用电脑从登录密码界面扫描出了几段诡异的字符串。

你惊奇的发现,这些字符串好像是表达式!!于是你大胆的猜想,如果求出这些表达式的值,并把值顺次输入,是否就是密码了?可是你发现有些表达式里还混有奇怪的由26个英文字母组成的字符串,如果不找到这些字符串所代表的数字,那么是无法求出表达式的值的。

你觉得这些字符串是如此的眼熟,突然你恍然大悟,这些字符串貌似正是the Lord of the Rings里各个登场人物名字的颠倒!!于是你赶紧拿来the Lord of the Rings这本书,翻查附录。因为你猜想,这些字符串背后所隐藏的数字肯定就是人物的编号了。

一切准备工作就绪,你的任务就只剩下求出这些表达式的值了。

格式

输入格式

第一行仅有一个整数T(1<= T <= 10),表示有T组测试数据。

每组数据的第一行是表达式。表达式由加、减、乘、除、括号这些运算符,和数字,还有由26个英文字母组成的字符串组成,不含空格等其余字符。表达式的长度不超过50。

表达式里有可能含有负数,除法按整除计算。

第二行是表达式里所含字符串的个数n(1<= n <= 10)。

接下来的n行每行以“字符串 = 数字”的格式给出每个字符串所代表的数字。一个字符串不会出现两次代表数字的给定,字符串区分大小写。

输出格式

对于第k组测试数据,第一行输出“Scenario #k:”,第二行输出表达式的值。

样例1

样例输入1

2
-3+(5-2)*(-3)/3
0
(A+(B-C)*D)/B
4
A = 4
B = 3
C = -3
D = 0

样例输出1

Scenario #1:
-6
Scenario #2:
1

来源

TJU

信息

ID
1256
难度
8
分类
字符串 | 表达式处理 点击显示
标签
(无)
递交数
229
已通过
34
通过率
15%
被复制
4
上传者

相关

在下列训练计划中:

RP++分类题库