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)
  {
    getchar();            //吸收多余的空格,保证下面的输入
    char a,b;
    scanf("%c %c",&a,&b);
    if(a==b)
    {
      ++A[1];
      ++B[1];
    }
    else
    {              //C代表“锤子”、J代表“剪刀”、B代表“布”
      if(a==‘C‘ && b==‘J‘)
      {
        ++A[0];
        ++B[2];
        HARSH1[1]+=1;
      }
      if(a==‘J‘ && b==‘B‘)
      {
        ++A[0];
        ++B[2];
        HARSH1[2]+=1;
      }
      if(a==‘B‘ && b==‘C‘)
      {
        ++A[0];
        ++B[2];
        HARSH1[0]+=1;
      }
      if(a==‘C‘ && b==‘B‘)
      {
        ++A[2];
        ++B[0];
        HARSH2[0]+=1;
      }
      if(a==‘B‘ && b==‘J‘)
      {
        ++A[2];
        ++B[0];
        HARSH2[2]+=1;
      }
      if(a==‘J‘ && b==‘C‘)
      {
        ++A[2];
        ++B[0];
        HARSH2[1]+=1;
      }
    }
  }
  char p1,p2;
  for(int i=0 ; i<3 ; ++i)
    if(HARSH1[i]>maxA)
    {
      maxA=HARSH1[i];
      if(i==0)
        p1=‘B‘;
      else if(i==1)
        p1=‘C‘;
      else
        p1=‘J‘;
    }
  for(int i=0 ; i<3 ; ++i)
    if(HARSH2[i]>maxB)
    {
      maxB=HARSH2[i];
      if(i==0)
        p2=‘B‘;
      else if(i==1)
        p2=‘C‘;
      else
        p2=‘J‘;
    }
  printf("%d %d %d\n",A[0],A[1],A[2]);
  printf("%d %d %d\n",B[0],B[1],B[2]);
  printf("%c %c\n",p1,p2);
  //system("pause");
  return 0;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。