请选择 进入手机版 | 继续访问电脑版

PAT 1018 锤子剪刀布

[复制链接]
孤单 发表于 2021-1-2 17:52:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
<strong>各人应该都会玩“锤子铰剪布”的游戏:两人同时给脱手势,胜负规则如图所示:现给出两人的比武记载,请统计双方的胜、平、负次数,而且给出双方分别出什么手势的胜算最大。
输入格式
输入第1行给出正整数N(> n;    char c1, c2; //输入甲 乙的 手势    int k1, k2; //k1代表 甲手势转化后的数字, k2代表乙的    for(int i = 0; i < n; i++){        cin >> c1 >> c2;        k1 = change(c1); //转化为数字        k2 = change(c2);                /*            由于设置的顺序是字典序 且恰好就是循环相克顺序,因此            k1 胜 k2 的条件就是(k1 + 1) % 3 == k2;            k1 平 k2 的条件就是 k1 == k2;                        k1   k2            0  >  1  布 大 石            1  >  2  石 大 剪            2  >  0  剪 大 布                        很显然我们 想要 k1 胜利的话 只有在 (k1 + 1) % 3 == k2 时条件建立(很显然我这句话也是废话QAQ)            总之我们明确 记着就好,逐步来,一点一点积累~        */        if((k1 + 1) % 3 == k2){            countA[0]++; //甲得胜次数 加一            countB[2]++; //乙失败次数 加一            victoryA[k1]++; //甲使用 k1 手势得胜的 次数加一        }        else if(k1 == k2){            countA[1]++; //平            countB[1]++;        }        else{            countA[2]++; //甲输            countB[0]++; //乙赢            victoryB[k2]++; //乙使用 k2 手势得胜的 次数加一        }    }        cout
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )