剪刀石头布

来源:互联网 发布:直播笑声音效软件 编辑:程序博客网 时间:2024/04/28 06:37

Problem A: 剪刀石头布

[Submit][Status][Web Board]

Description

小慧小时候很喜欢和她的小伙伴们一起玩剪刀(Scissors)、石头(Rock)、布(Cloth)的游戏,但现在她上大学了,和小伙伴们不能经常见面,但可以通过网络交流,她现在很想和小伙伴们重温这个小游戏。
学了c++的你,可以用类帮她完成这个小游戏吗?每局游戏进行n场对战,赢得次数多的是最后的赢家,可以出现平局。

Input

第1行 n(1<=n<=20) ,表示下面有n组对战信息。
从第2行到第n+1行,每行两个英文单词,表示对战信息。小慧的信息是第一列

Output

一个英文字母W或L或D 表示小慧的赢,输或平手。

Sample Input

5
Rock Scissors
Scissors Rock
Cloth Cloth
Cloth Rock
Rock Rock

Sample Output

W

HINT



#include <iostream>using namespace std;class RSC{private:    char a[21][10];    char b[21][10];    int n;    char result;    int judge(char a,char  b);public:    void input();    void output();    void decide();};int RSC::judge(char a,char b){    if(a=='R')    {        if(b=='S')            return 1;        if(b=='C')            return -1;        else return 0;    }    else        if(a=='S')        {            if(b=='C')                return 1;            if(b=='R')                return -1;            else return 0;        }        else            if(a=='C')            {                if(b=='R')                    return 1;                if(b=='S')                    return -1;                else return 0;            }} void RSC::input(){    cin>>n;    int i;    for(i=0; i<n; i++)        cin>> a[i]>>b[i];}void RSC::output(){    decide();    cout<<result<<endl;}void RSC::decide(){    int num=0,i;    for(i=0; i<n; i++)        num = num + judge(a[i][0],b[i][0]);    if(num>0)        result ='W';    else if(num==0)        result= 'D';    else        result = 'L';}int main(){    RSC test;    test.input();    test.output();    return 0;}


0 0
原创粉丝点击