劃拳石頭剪刀布,PAT1018. 錘子剪刀布

 2023-10-08 阅读 30 评论 0

摘要:1018. 錘子剪刀布 (20) 時間限制 100 ms 內存限制 65536 kB 代碼長度限制 8000 B 判題程序 Standard 作者 CHEN, Yue 大家應該都會玩“錘子剪刀布”的游戲:兩人同時給出手勢,勝負規則如圖所示: 現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數

1018. 錘子剪刀布 (20)

時間限制
100 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
作者
CHEN, Yue

大家應該都會玩“錘子剪刀布”的游戲:兩人同時給出手勢,勝負規則如圖所示:

現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,并且給出雙方分別出什么手勢的勝算最大。

輸入格式:

輸入第1行給出正整數N(<=105),即雙方交鋒的次數。隨后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<stdio.h>//C錘子J剪刀B布 
int B1=0,B2=0,C1=0,C2=0,J1=0,J2=0,o=0;
int fun(char a,char b)
{if(a==b) o++;else if(a=='B'&&b=='C'){B1++;}else if(a=='B'&&b=='J'){J2++;}else if(a=='C'&&b=='B'){B2++;}else if(a=='C'&&b=='J'){C1++;}else if(a=='J'&&b=='C'){C2++;}else {J1++;}
}
int main()
{int n;scanf("%d",&n);int i,J;char a[n][3];for(i=0;i<n;i++){scanf("%s %s",&a[i][0],&a[i][1]);fun(a[i][0],a[i][1]);}printf("%d %d %d\n",B1+C1+J1,o,B2+C2+J2);printf("%d %d %d\n",B2+C2+J2,o,B1+C1+J1);int max1=B1;if(max1<C1) max1=C1;if(max1<J1) max1=J1;if (max1==B1) printf("B ");else if (max1==C1) printf("C ");else printf("J ");int max2=B2;if(max2<C2) max2=C2;if(max2<J2) max2=J2;if (max2==B2) printf("B");else if (max2==C2) printf("C");else printf("J");return 0;} 


版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/133683.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息