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 namespace std;
int main()
{
	int n;
	char chr1=‘C‘,chr2=‘J‘,chr3=‘B‘,c1,c2;
	int arr1[4]={0},arr2[4]={0};
	int win_1=0,equal_1=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>c1>>c2;
		if(c1==c2) equal_1++;
		else if((c1==‘B‘&&c2==‘C‘)||(c1==‘C‘&&c2==‘J‘)||(c1==‘J‘&&c2==‘B‘))
		{
			win_1++;
			if(c1==‘B‘) arr1[1]++;
			else if(c1==‘C‘) arr1[2]++;
			else if(c1==‘J‘) arr1[3]++;
		}
		else{
			if(c2==‘J‘) arr2[3]++;
			else if(c2==‘B‘) arr2[1]++;
			else if(c2==‘C‘) arr2[2]++;
		     }
	}
	cout<<win_1<<" "<<equal_1<<" "<<n-win_1-equal_1<<endl;
	cout<<n-win_1-equal_1<<" "<<equal_1<<" "<<win_1<<endl;
	int max_1=0,max_2=0;
	for(int i=1;i<=3;i++)
	{
		if(arr1[i]>max_1) max_1=arr1[i];
		if(arr2[i]>max_2) max_2=arr2[i];
	}
	for(int i=1;i<=3;i++)
	{
		if(arr1[i]==max_1)
		{
			if(i==1) cout<<"B";
			else if(i==2) cout<<"C";
			else if(i==3) cout<<"J";
			break;
		}
	}
	for(int i=1;i<=3;i++)
	{
		if(arr2[i]==max_2)
		{
			if(i==1) cout<<" B";
			else if(i==2) cout<<" C";
			else if(i==3) cout<<" J";
			break;
		}
	}
	return 0;
}

原文地址:https://www.cnblogs.com/jianqiao123/p/12249331.html

时间: 2024-10-14 19:18:57

PTA乙级 (1018 锤子剪刀布 (20分))的相关文章

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

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

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代表"锤

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 (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)

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

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

PAT 1018. 锤子剪刀布

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