#P1078. Gizilch
Gizilch
题目描述
“Gizilch” 游戏的规则非常简单。首先,用无毒墨水给 100 颗葡萄标上 1 到 100 的数字。然后,随着裁判的一声“GIZILCH!”的呼喊,裁判用一个巨大的 Gizilcher 将葡萄射向空中。两名玩家的初始得分都是“1”,他们会竞相吃掉正在掉落(或很快就会掉落)的葡萄,同时将他们的得分乘以他们吃掉的葡萄上的数字。一分钟后,饥饿的松鼠被放出来吃掉剩下的葡萄,每个参赛者报告他的得分,即他吃掉的葡萄上的数字的乘积。非官方的获胜者是宣布最高得分的玩家。
然而,不可避免地,会出现争议,因此在争议解决之前,不会确定官方的获胜者。声称较低得分的玩家有权挑战对手的得分。声称较低得分的玩家被假定为说了实话,因为如果他要撒谎,他肯定会编造一个更大、更好的谎言。如果较高得分的玩家的得分无法通过挑战玩家未吃掉的葡萄来实现,则挑战有效。因此,如果挑战成功,声称较低得分的玩家获胜。
例如,如果一名玩家声称得了 343 分,而另一名玩家声称得了 49 分,那么很明显第一名玩家在撒谎。唯一得到 343 分的方法是吃掉标有 7 和 49 的葡萄,而唯一得到 49 分的方法是吃掉标有 49 的葡萄。由于两种得分都需要吃掉标有 49 的葡萄,因此声称 343 分的玩家被认为是在撒谎。
另一方面,如果一名玩家声称得了 162 分,而另一名玩家声称得了 81 分,那么两者都可能是实话(例如,一个吃掉标有 2、3 和 27 的葡萄,而另一个吃掉标有 81 的葡萄),因此挑战不会被支持。
不幸的是,任何愿意担任“Gizilch”游戏裁判的人都可能自己已经消费了太多葡萄(以液体形式),因此不能合理地期望他或她进行裁判所需的复杂计算。因此,需要你这位清醒的程序员提供一个软件解决方案。
输入
每行包含一对不相等的正整数,这些数字是“Gizilch”游戏中玩家声称的得分。
输出
每行输出一个数字,表示获胜的得分,假设得分较低的玩家总是会挑战结果。
输入数据 1
343 49
3599 610
62 36
输出数据 1
49
610
62
提示
在比赛开始时,对问题描述中注意到的模糊性进行了澄清(在比赛前几天发现)。决定“Gizilch”游戏获胜者的规则如下:
- 如果两名玩家都可能说的是实话,那么较高得分获胜。
- 如果得分较低的玩家不可能说的是实话,那么较高得分获胜。
- 如果上述两个条件都不成立,则较低得分获胜。
来源
美国中南部 1998