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
 1 #include <stdio.h>
 2 int main(){
 3     int n;
 4     int b=0;
 5     int c=0;
 6     int j=0;
 7     int yb=0;
 8     int yc=0;
 9     int yj=0;
10
11     char jia;
12     char yi;
13     int jiasheng=0;
14     int yisheng=0;
15     int ping=0;
16     scanf("%d",&n);
17     getchar();
18     for(int i=0;i<n;i++){
19         jia=getchar();
20         getchar();
21         yi=getchar();
22         getchar();
23         if(jia==yi){
24             ping ++;
25         }else if(jia==‘B‘ && yi==‘C‘){
26             b++;
27             jiasheng++;
28         }else if(jia==‘C‘ && yi==‘J‘){
29             c++;
30             jiasheng++;
31         }else if(jia==‘J‘ && yi==‘B‘){
32             j++;
33             jiasheng++;
34         }else if(jia==‘B‘ && yi==‘J‘){
35             yj++;
36             yisheng++;
37         }else if(jia==‘C‘ && yi==‘B‘){
38             yb++;
39             yisheng++;
40         }else if(jia==‘J‘ && yi==‘C‘){
41             yc++;
42             yisheng++;
43         }
44     }
45     printf("%d %d %d\n",jiasheng,ping,n-jiasheng-ping);
46     printf("%d %d %d\n",n-jiasheng-ping,ping,jiasheng);
47
48
49         if(b>=c && b>=j){
50             printf("B ");
51         }else if(c>b&&c>=j){
52             printf("C ");
53         }else if(j>b && j>c){
54             printf("J ");
55         }
56
57         if(yb>=yc && yb>=yj){
58             printf("B");
59         }else if(yc>yb&&yc>=yj){
60             printf("C");
61         }else if(yj>yb && yj>yc){
62             printf("J");
63         }
64
65
66     return 0;
67 }
时间: 2024-12-28 22:15:44

1018. 锤子剪刀布 (20)的相关文章

PAT乙级 1018. 锤子剪刀布 (20)

1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表“锤子”.J代表“剪刀”.B代

PAT 乙级 1018 锤子剪刀布 (20) C++版

1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表"锤

PAT乙级1018.锤子剪刀布 (20)(20 分)

1018 锤子剪刀布 (20)(20 分) 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=10^5^),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表“锤子”.J代表“剪刀”.B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格. 输出格式: 输出第1.2行分别给出甲.乙的胜.平.负次数

PTA乙级 (1018 锤子剪刀布 (20分))

1018 锤子剪刀布 (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805304020025344 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <algorithm> using names

PAT (Basic Level) Practise (中文)- 1018. 锤子剪刀布 (20)

http://www.patest.cn/contests/pat-b-practise/1018 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表“锤子”.J代表“剪刀”.B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格. 输出

1018. 锤子剪刀布 (20) (数学啊 ZJU_PAT)

题目链接:http://www.patest.cn/contests/pat-b-practise/1018 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表"锤子".J代表"剪刀".B代表

PAT:1018. 锤子剪刀布 (20) AC

#include<stdio.h> #include<stdlib.h> int main() { int n,maxA,maxB; maxA=maxB=-1; int A[3]={0},B[3]={0}; //0,1,2位置分别存胜利,平局,失败..填入次数 int HARSH1[3]={0},HARSH2[3]={0}; //0:布,1锤子,2剪刀: scanf("%d",&n); for(int t=0 ; t<n ; ++t) { getc

1018 锤子剪刀布 (20分)

#include <iostream> using namespace std; int main() { int N; cin>>N; int w1=0,w2=0,w3=0; int ac=0,aj=0,ab=0; int bc=0,bj=0,bb=0; int ra,rb; char a,b; for(int i=0;i<N;i++) { cin>>a>>b; if((a=='C'&&b=='J')|| (a=='J'&&a

PAT 1018. 锤子剪刀布

1018. 锤子剪刀布 (20) 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数.随后N行,每行给出一次交锋的信息,即甲.乙双方同时给出的的手势.C代表"锤子".J代表"剪刀".B代表"布",第1个字母代表甲方,第2个代表乙方,中间有1个空