首页 > 编程知识 正文

荣德基点拨答案大全,b2科目一模拟考试100题

时间:2023-05-04 15:43:25 阅读:115576 作者:3015

1018锤子剪刀布(20分) )。

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

现在拿出两人的对战记录。 请统计双方的赢、平局、输的次数,然后表示双方各自做出了什么手势胜算最大。

输入格式:在第一行中输入正整数n10(5)。 也就是说,是双方对战的次数。 然后,给n行、每行一次交战的信息,即甲、乙双方同时发出的手势。 c表示“锤子”,j表示“剪刀”,b表示“布”,第一个字表示甲,第二个字表示乙,中间有一个空格。

输出形式:输出第1、2行分别表示甲、乙胜、平、负的次数,数字之间用一个空格分隔。 第三行是两个字,分别表示甲、乙获胜次数最多的手势,中间有一个空格。 解不唯一时,按字母顺序输出最小的解。

输入示例: 10 cjbcbbcbjbcj输出示例: 532235 b==========================

甲、乙平局次数and每个人必须记录最赢的手势。 从全局上看,共有9种情况,只需列出6种胜负情况,与其他3种平局无关。

甲赢时,aWin++,这是甲赢得次数。

同时,用cntA[3] = {0}; 数组记录甲赢的手势次数,用cntA[0]代表甲以 B 的次数,cntA[1]甲以 C 赢次数,cntA[2]甲以 J 赢次数...

乙方获胜时,同样bWin和cntB[3]的排列记录乙方获胜的手势次数。

输出,甲方胜平负为双赢、双赢、双赢; 这很容易理解。

以及string s='BCJ ';

33558 www.Sina.com/: couts [ maxa ] ' s [ maxb ];

==================================

# includeiostreamusingnamespacestd; int main () {int n; cin n; int aWin=0,bWin=0,cntA[3]={ 0 },cntB[3]={ 0 }; for(intI=0; i n; I ) {char a,b; cin a b; if(a=='b'b=='c ' ) {aWin; cntA[0]; }elseif(a=='b'b=='j ' ) {bWin; cntB[2]; }elseif(a=='c'b=='b ' ) {bWin; cntB[0]; }elseif(a=='c'b=='j ' ) {aWin; cntA[1]; }elseif(a=='j'b=='b ' ) {aWin; cntA[2]; }elseif(a=='j'b=='c ' ) {bWin; cntB[1]; }printf('%d%d%d(n ),aWin,n - aWin - bWin,bWin ); printf(%d%d%d(n ),bWin,n - aWin - bWin,aWin ); int maxA=0,maxB=0; for(intI=1; i 3; I ) if(CNTA[I]CNTA[MAXA] ) maxA=i; for(intI=1; i 3; I ) if(cntb[I]cntb[maxb] ) maxB=i; string s='BCJ '; cout s[maxA] ' ' s[maxB]; 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。