您的位置:首页 > 其它

EOJ Monthly 2018.1 - A 石头剪刀布的套路 (水题)

2018-01-22 20:44 267 查看
A. 石头剪刀布的套路
Time limit per test: 1.0 seconds

Memory limit: 256 megabytes

现在有一种石头剪刀布锦标赛。采取 100 局胜负制。对战 100 局,扣掉平局,谁赢得多谁就取得最终的胜利。

zzz 同学天天玩石头剪刀布,从而总结出了一套提高石头剪刀布胜率的方法。这套方法重点在于利用人的心理。石头剪刀布这三者,你可能觉得你是随机选择的,但其实不然。你还是会产生一定的偏向性。在若干局游戏后,有的人出石头的频数会高,有的人出布的频数会高,还有的人出剪刀的频数会高。

这点差异其实微乎其微,但却能成为决定胜负的关键。zzz 同学也就是靠着这微乎其微的差异,拿到了石头剪刀布世界冠军,攀上人生巅峰。

作为 zzz 同学的室友,你对 zzz 同学出石头剪刀布的套路掌握得一清二楚。具体如下:

他会根据对方之前已经出过的石头次数、剪刀次数、布次数,来决定最不利于对方的。比如对方剪刀最多,他一定会出石头;对方布最多,他一定会出剪刀;对方石头最多,他一定会出布。
在比赛开始前,他会给石头剪刀布各分配一个优先级,分别为 p,q,r。如果存在两个一样多,或三个一样多,或者一个都没出过(刚开局),那么他会优先选择优先级高的。比如说对方出过的剪刀和布一样多,石头就比较少,那么他接下来的选择一定在石头和剪刀之间。如果石头的优先级为 3,剪刀的优先级为 2,那么他就会优先选择石头。
zzz 同学是很死板的,他肯定不会违背这套策略。也就是说,一旦你搞到了他即将参加的比赛的优先级 p,q,r,你基本已经赢了,甚至连这 100 局每局是输是赢都想好了。

于是你膨胀了。你要去挑战世界冠军 zzz。

Input
有且仅有一行,三个整数 p,q,r ({p,q,r}={1,2,3}),用空格隔开。

不会有两个相同的测试点。

Output
输出 100 行,每行一个整数,依次为这 100 局你的选择。

石头输出 1,剪刀输出 2,布输出 3。

Note
此题无样例。
题意:采取 100 局胜负制。对战 100 局,扣掉平局,谁赢得多谁就取得最终的胜利。
思路:只要获胜就可以了,这个题的做法很多,只介绍3种
1)赢他100局 ,完完全全的模拟题,写的较长,因为涉及3个数的比较大小和存贮他们的次序(实现麻烦)。
2)赢他67局(也就是三分之二)
第一步:在知道对方优先级的情况下,选择优先级最高的一个,我们就选择可以克制它的,这是我们利用的第一步,
第二步,由于我方已经选择了一次,无论选了什么此时它都是我方选的最多的,那么根据规则zzz一定选择可以克制我方选的最多的这张牌,于是我们又知道了zzz第二步选哪张,我再选择克制zzz的就行
第三步,我们只要选择前两局我方未选择过的,用来平均之前的选择记录就好,这样至少保证3局赢2局。(实现简单)
3)赢他第一局,然后一直平局。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: