PAT模拟题---1018 锤子剪刀布 (20分)

  • 自己写一个划拳的change函数来调用
  • 并且用字符数组来存放输入的字符
  • 最重要的就是一个循环相克
  • 0 1 2
  • 布 石头 剪刀
  • (k1+1)%3 == k2 为赢 ,反之为输,k1==k2为平
#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

int time_A[3];
int time_B[3];
int hand_A[3];
int hand_B[3];
char mp[3]={'B','C','J'};

int change(char c){
	if(c=='B') return 0;
	if(c=='C') return 1;
	if(c=='J') return 2;
}
int main(){
	int n;cin>>n;
	
	while(n--){
	    getchar();
		char x1;char x2;
		scanf("%c %c",&x1,&x2);
		int k1,k2;
		k1=change(x1);k2=change(x2);
		if((k1+1)%3==k2){
			time_A[0]++;time_B[2]++;
			hand_A[k1]++;
		}else if(k1==k2){
			time_A[1]++;time_B[1]++;
		}else{
			time_A[2]++;time_B[0]++;
			hand_B[k2]++;
		}
	}
	cout<<time_A[0]<<" "<<time_A[1]<<" "<<time_A[2]<<"\n";
	cout<<time_B[0]<<" "<<time_B[1]<<" "<<time_B[2]<<"\n";
	int max1=0,max2=0;
	for(int i=1;i<3;i++){
		if(hand_A[i]>hand_A[max1]) max1=i;
		if(hand_B[i]>hand_B[max1]) max2=i;
	}
	cout<<mp[max1]<<" "<<mp[max2];
	return 0;
}
posted @ 2020-06-07 17:08  chstor  阅读(128)  评论(0编辑  收藏  举报