Rejudge Progress:
1041: 朋友们的距离
Time Limit: 2000 MS Memory Limit: 65536 KBTotal Submit: 40 Accepted: 0 Page View: 547
Submit Status Discuss
Description
要放假了,考完了所有试就等着上火车回家的 Butterfly0923 面对着自己心爱的计算机,无聊的逛着我爱南开 BBS,眼看着在线好友列表的长度一天天减少。“来自”一栏中的 IP 都还是校内的,大多以 10 开头.看到大部分人跟自己同在 21 宿,还有 15 宿的老乡、13 宿的狐朋狗友们、西区的研究生、12 宿的音乐狂人和 8 宿的可爱小女生。虽然现在大家仅仅相隔几百米,但是很快彼此将远隔万水千山,分散在祖国各地。如果那时大家一起上线,各地 IP 大展览,一定有趣,Butterfly0923 这样想。不过祖国这么大,不知道大家到底相距多远。于是 Butterfly0923 给所有在线的 ID寄语信鸽,询问他/她的家乡与学校之间的距离,他想知道自己的朋友中谁离学校最远。
Butterfly0923 知道自己的家距学校 520km,seaeagle 也知道,所以他回信说:我家离学校的距离比你的四倍还多 200km。不过 doraemonok 不知道,他比较务实,直接回信说:12km,公交 1hour。迷糊的 Butterfly0923 想了想,觉得 seaeagle 比较远一点。但是随着问的人越来越多,问题变得复杂起来。unusualwater 说:我的距离是你的十三分之一。aliao 说:我刚问过 gnr,你们的旅途合在一起比我少 194km。而 gnr 老师的回信说:我的路程正好是你的两倍。这回,Butterfly0923 算了好大一会,才知道 aliao 最远。
Butterfly0923 最后寄语信鸽了爱好编程的你,不过不是问距离,他告诉你他从各个 ID 得到的信息,希望你能告诉他最远的地方有多少公里,是谁在那里。
Input
输入数据有多组。每组数据的第一行是在线 ID 的数目 n,Butterfly0923 的好友列表里一共 26 个 ID,所以 n 不会超过 26。接下来 n 行是这 n 个在线 ID,每行一个。按照我爱南开 BBS 站的规定,ID 由 2-12 个英文字母组成,大小写不敏感。再往下 n 行是从各人回信中得到的信息。
方便起见,Butterfly0923 把每条信息写成等式的形式。等号两边有一些项,每一项都是 num*ID 的形式,num 是一个正整数,没有符号,多项之间以加号分隔,最后一项可能是一个常数。Butterfly0923 自己也可能出现在等式中,注意它不是一个 ID ——它太长了。Butterfly0923 保证在一个等式中不会出现相同的 ID,每个人的距离(如果能算得出的话)都是整数。所有 ID 和等式中都不会出现任何前导、后缀以及符号两侧的空格。
Output
对于每一组输入,首先输出一行 Case #,这里 # 是按组从 1 开始的编号。
如果朋友们给 Butterfly0923 的信息不足以确定全部人的距离,就在第二行输出 “I’m not sure about someone’s distance.” 否则第二行输出你计算出的最远距离,第三行输出跟最远距离对应的 ID,如果这样的 ID 不止一个,按照它们在输入中出现的顺序每行输出一个。
2
seaeagle
doraemonok
1*seaeagle=4*Butterfly0923+200
1*doraemonok=12
3
unusualwater
aliao
gnr
13*unusualwater=1*Butterfly0923
1*aliao=1*Butterfly0923+1*gnr+194
1*gnr=2*Butterfly0923
Case 1:
2280
seaeagle
Case 2:
1754
aliao
Hint
⒈ 留意 n 的下限。
⒉ ID 不区分大小写,但是大写字母是允许的。
⒊ 常数项只会出现在最右边。
⒋ 等式中的 Butterfly0923 实际上相当于常数,注意它可能会重复出现。
⒌ 注意并列最远的情形。
⒍ 注意不能确定的情形。
⒎ 虽然系数及最后结果都是整数,但是计算过程中可能需要浮点数。