PAT 1018 망치 가위 바위 보

간단 하고 직접적인 방법
#include<iostream>
#include<valarray>
using namespace std;
int result(char a,char b){
    if(a==b)return 0;
    if((('B'==a)&&('C'==b))||
       (('C'==a)&&('J'==b))||
       (('J'==a)&&('B'==b)))
    return 1;
    else return -1;
}
char gesture(valarray<int>&p){
    int tmp=p.max();
    if(p['B']==tmp)return 'B';
    if(p['C']==tmp)return 'C';
    return 'J';
}
int main(){
int win=0,lose=0,draw=0;
valarray<int> a(0,256),b(0,256);
int n;cin>>n;
while(n--){
    int tmp;
    char ga,gb;
    cin>>ga>>gb;
    if(!(tmp=result(ga,gb)))
        ++draw;
    else if(tmp>0){
        ++win;++a[ga];}
    else{
        ++lose;++b[gb];}
    }
cout<<win<<' '<<draw<<' '<<lose<<endl;
cout<<lose<<' '<<draw<<' '<<win<<endl;
cout<<gesture(a)<<' '<<gesture(b);
return 0;}




좋은 웹페이지 즐겨찾기