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;
}
posted on 2015-02-16 00:02  Evence  阅读(254)  评论(0编辑  收藏  举报