PAT乙 1018 锤子剪刀布 C++

PAT乙 1018 锤子剪刀布

题解
根据输入的组合,分别统计甲乙两人使用C,J,B三种手势获得胜利的次数。根据总次数,算出甲乙两人胜,平,负的场数输出。
在输出个人使用哪种手势赢的更多时,优先输出字典序小的。

#include <string>
#include <iostream>
using namespace std;
char max(int C,int J,int B){
     if(B>=C&&B>=J)     return 'B';//B和C或者J相等时优先选择B
     else if(C>B&&C>=J)  return 'C'; //C和J相等时优先选择C
	 else if(J>B&&J>C)  return 'J';
} 
int main(){
    int C1,J1,B1,C2,J2,B2,N,draw;
    C1=J1=B1=C2=J2=B2=draw=0;
    char A1,A2;
    cin>>N;
    while(cin>>A1>>A2){
    	if(A1==A2) draw++; //平局
		else if(A1=='C'&&A2=='J')  C1++;//甲使用C赢的次数
		else if(A1=='J'&&A2=='B')  J1++;
		else if(A1=='B'&&A2=='C')  B1++;
	    else if(A2=='C'&&A1=='J')  C2++;//乙使用C赢的次数
		else if(A2=='J'&&A1=='B')  J2++;
		else if(A2=='B'&&A1=='C')  B2++;
	} 
cout<<C1+J1+B1<<" "<<draw<<" "<<N-C1-J1-B1-draw<<endl;
cout<<C2+J2+B2<<" "<<draw<<" "<<N-C2-J2-B2-draw<<endl;
cout<<max(C1,J1,B1)<<" "<<max(C2,J2,B2);
return 0; 
} 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值