1018 锤子剪刀布 (20 分)

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

FigCJB.jpg

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

输入格式:

输入第 1 行给出正整数 N(≤),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。

输出格式:

输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。如果解不唯一,则输出按字母序最小的解。

输入样例:

10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J J

输出样例:

5 3 2
2 3 5
B B
#include<cstdio>char feature[3] = {'B','C','J'};int main(){int n;char a,b;int aWin[3] = {0},bWin[3] = {0},equ = 0; //a[0],a[1],a[2]分别表示布b,锤子c和剪刀j赢的次数 scanf("%d",&n);for(int i = 0; i < n; i++){getchar();scanf("%c %c",&a,&b);if(a == b) equ++;else{if(a == 'C'){  //a是锤子 if(b == 'J'){   //b是剪刀 aWin[1]++;    //a用锤子赢  c = 1}else{         //b是布  b = 0bWin[0]++;}}else if(a == 'J'){if(b == 'C'){bWin[1]++; // b = 1}else{aWin[2]++;; //a = 2
                }}else{if(b == 'C'){  //a = 0aWin[0]++;}else{bWin[2]++; // b = 2;
                }}}}int aW = aWin[0] + aWin[1] + aWin[2], bW = bWin[0] + bWin[1] + bWin[2];printf("%d %d %d\n",aW,equ,bW);printf("%d %d %d\n",bW,equ,aW);int maxA = -1,maxB = -1,A,B;for(int i = 0; i < 3; i++){if(maxA < aWin[i]){maxA = aWin[i];A = i;} if(maxB < bWin[i]){maxB = bWin[i];B = i;}}printf("%c %c",feature[A],feature[B]);return 0;
}

 

转载于:https://www.cnblogs.com/wanghao-boke/p/10204424.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1019 数字黑洞 (20 分)

给定任一个各位数字不完全相同的 4 位正整数&#xff0c;如果我们先把 4 个数字按非递增排序&#xff0c;再按非递减排序&#xff0c;然后用第 1 个数字减第 2 个数字&#xff0c;将得到一个新的数字。一直重复这样做&#xff0c;我们很快会停在有“数字黑洞”之称的 6174&…

61. 旋转链表

给定一个链表&#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL…

1020 月饼 (25 分)

月饼是中国人在中秋佳节时吃的一种传统食品&#xff0c;不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量&#xff0c;请你计算可以获得的最大收益是多少。 注意&#xff1a;销售时允许取出一部分库存。样例给出的情形是这样的&#x…

2. 二叉树的深度

题目描述 输入一棵二叉树&#xff0c;求该树的深度。从根结点到叶结点依次经过的结点&#xff08;含根、叶结点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(in…

1021 个位数统计 (15 分

给定一个 k 位整数 1 (0, ,, d​k−1​​>0)&#xff0c;请编写程序统计每种不同的个位数字出现的次数。例如&#xff1a;给定 0&#xff0c;则有 2 个 0&#xff0c;3 个 1&#xff0c;和 1 个 3。 输入格式&#xff1a; 每个输入包含 1 个测试用例&#xff0c;即一个不超过…

【牛客网】X游戏

题目&#xff1a;X游戏 题目描述 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后&#xff0c;我们仍可以得到一个有效的&#xff0c;且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字&#xff0c; 则这个数是有效…

1022 D进制的A+B (20 分)

输入两个非负 10 进制整数 A 和 B (≤)&#xff0c;输出 AB 的 D (1)进制数。 输入格式&#xff1a; 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式&#xff1a; 输出 AB 的 D 进制数。 输入样例&#xff1a; 123 456 8输出样例&#xff1a; 1103 #include<cstdio>…

3. 二进制中1的个数

题目描述 输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 class Solution { public:int NumberOf1(int n) {int count 0; for(int i 0; i < 32; i){if(n & (1 << i))count;}return count;} };

1023 组个最小数 (20 分)

给定数字 0-9 各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意 0 不能做首位&#xff09;。例如&#xff1a;给定两个 0&#xff0c;两个 1&#xff0c;三个 5&#xff0c;一个 8&#xff0c;我们得到的最…

C++中重载、重写(覆盖)和隐藏的区别实例分析

1.重载&#xff1a;重载从overload翻译过来&#xff0c;是指同一可访问区内被声明的几个具有不同参数列&#xff08;参数的类型&#xff0c;个数&#xff0c;顺序不同&#xff09;的同名函数&#xff0c;根据参数列表确定调用哪个函数&#xff0c;重载不关心函数返回类型。 示…

1024 科学计数法 (20 分

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法&#xff0c;其满足正则表达式 [-][1-9].[0-9]E[-][0-9]&#xff0c;即数字的整数部分只有 1 位&#xff0c;小数部分至少有 1 位&#xff0c;该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法…

static、const用法

一、static用法 C的static有两种用法&#xff1a;面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数&#xff0c;不涉及类&#xff1b;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量&#xff1a;在全局变量前…

1025 反转链表 (25 分

给定一个常数 K 以及一个单链表 L&#xff0c;请编写程序将 L 中每 K 个结点反转。例如&#xff1a;给定 L 为 1→2→3→4→5→6&#xff0c;K 为 3&#xff0c;则输出应该为 3→2→1→6→5→4&#xff1b;如果 K 为 4&#xff0c;则输出应该为 4→3→2→1→5→6&#xff0c;即…

1026 程序运行时间 (15 分

要获得一个 C 语言程序的运行时间&#xff0c;常用的方法是调用头文件 time.h&#xff0c;其中提供了 clock() 函数&#xff0c;可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick&#xff0c;即“时钟打点”。同时还有一个常数 CLK_TCK&…

【C++基础】常见面试问题(二)

1. 指针和引用的区别 指针保存的是所指对象的地址&#xff0c;引用是所指对象的别名&#xff0c;指针需要通过解引用间接访问&#xff0c;而引用是直接访问指针可以改变地址&#xff0c;从而改变所指的对象&#xff0c;而引用必须从一而终&#xff1b;引用在定义的时候必须初始…

1028 人口普查 (20 分)

某城镇进行人口普查&#xff0c;得到了全体居民的生日。现请你写个程序&#xff0c;找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的&#xff0c;但不一定是合理的——假设已知镇上没有超过 200 岁的老人&#xff0c;而今天是 2014 年 9 月 6 日&#xff0c;所…

static关键字用法

static修饰局部变量 静态局部变量存储在全局静态区生存期为整个程序生命周期&#xff0c;但是其作用域仍与自动变量相同&#xff0c;只能在定义该变量的函数内使用该变量。退出该函数后&#xff0c;尽管该变量还继续存在&#xff0c;但不能使用它。静态局部变量若在声明时未赋以…

1029 旧键盘 (20 分)

旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字&#xff0c;请你列出肯定坏掉的那些键。 输入格式&#xff1a; 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段…

volatile、const的用法

1. volatile 访问寄存器要比访问内存要块&#xff0c;因此CPU会优先访问该数据在寄存器中的存储结果&#xff0c;但是内存中的数据可能已经发生了改变&#xff0c;而寄存器中还保留着原来的结果。为了避免这种情况的发生将该变量声明为volatile&#xff0c;告诉CPU每次都从内存…

1030 完美数列 (25 分)

给定一个正整数数列&#xff0c;和正整数 p&#xff0c;设这个数列中的最大值是 M&#xff0c;最小值是 m&#xff0c;如果 M≤mp&#xff0c;则称这个数列是完美数列。 现在给定参数 p 和一些正整数&#xff0c;请你从中选择尽可能多的数构成一个完美数列。 输入格式&#xff…