美文网首页
剪刀石头布

剪刀石头布

作者: Fattyu | 来源:发表于2017-07-18 15:41 被阅读0次

现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

#include <stdio.h>

int turn(char a) // 转换函数
{
    switch (a) {
        case 'B': return 0;
        case 'C': return 1;
        case 'J': return 2;
        default:  return 3;}
}

int max(int a[]) // 选出胜算最大手势的比较函数
{
    int *p = a + 2;
    if (*p <= a[1]) p = a + 1;
    if (*p <= a[0]) p = a;
    return (int)(p - a);
}

int main()
{
    int n, res[3] = {0}, win[3] = {0}, lst[3] = {0};
    char a, b, cas, list[4] = "BCJ", check[5] = {0,2,1,0,2};

    scanf("%d\n", &n);
    for (int i = 0; i < n; getchar(), i++) {
        scanf("%c %c", &a, &b);
        cas = turn(a) - turn(b) + 2; // 由于数组下标不为负数,这里将最小的可能结果设为0,相当于真值表整体向右移动两位
        if (check[cas] > 1) win[turn(a)]++; // 甲胜利时记录甲的手势
        if (check[cas] < 1) lst[turn(b)]++; // 甲失败时记录乙的手势
        res[check[cas]]++; // 记录甲的 "胜平负"
    }

    printf("%d %d %d\n", res[2], res[1], res[0]);
    printf("%d %d %d\n", res[0], res[1], res[2]);
    printf("%c %c", list[max(win)], list[max(lst)]);

 
   return 0;
}

相关文章

  • 石头剪刀布的联想

    小时候-石头剪刀布,你出剪刀我出布,糖果是你的;长大后-石头剪刀布,你出石头我出布,快乐是我们的;石头剪刀布,一个...

  • noip 2014总结

    生活大爆炸版石头剪刀布 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,...

  • 玩转石头剪刀布

    你用肚子玩过石头剪刀布吗?你用膝盖玩过石头剪刀布吗?你用脚掌玩过石头剪刀布吗?你用舌头玩过石头剪刀布吗?你用眼睛玩...

  • 2020-05-27

    “石头剪刀布” 哈哈,你输了,再来再来 “石头剪刀布” 你又输了,怎么回事,再来再来 “石头剪刀布” 你有心事,说...

  • 《自卑与超越》读书笔记

    (一)面对失败 “石头、剪刀、布!石头、剪刀、布!石头、剪刀、布!” “我赢了!”游戏规则是,赢了的人可以前进一格...

  • [米·记]2017.09.06.阴雨

    “石头剪刀布,石头剪刀布,左边剪刀右边石头,变成一只小蜗牛;左边是布右边是布,变成花蝴蝶……”——由磨蹭的米拉刷牙...

  • 温暖的承诺:我帮蜗牛找朋友

    剪刀石头布 剪刀石头布 一把剪刀一块石头变成小白兔 一把剪刀两把剪刀亲亲小白兔 一块石头一块布抓住小白兔 一块布两...

  • 陪孩子玩游戏(4)

    “石头,剪刀,布,我出剪刀。” “石头,剪刀,布,我出剪刀。” “你这是剪刀吗?”孩子还不太会控制手指,只见他伸着...

  • 人机大战《石头剪刀布》你赢得过机器吗?

    人机大战《石头剪刀布》你赢得过机器吗? 《石头剪刀布》的游戏每个人都玩过,而你有没有玩过与机器对决《石头剪刀布》?...

  • 算法进化历程1剪刀石头布

    算法进化历程之剪刀石头布 小美:阿福,你玩过剪刀石头布游戏吗? 阿福:这算什么问题?谁还能没玩过剪刀石头布?要知道...

网友评论

      本文标题:剪刀石头布

      本文链接:https://www.haomeiwen.com/subject/pkchkxtx.html