zoukankan      html  css  js  c++  java
  • 【HDU 1889】Reaux! Sham! Beaux!(模拟+水题)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1889

    题意:给出一个表,每个国家的石头剪子布的叫法,给两个人用自己国家的语言进行石头剪子布,进行统计,最后输出胜负信息。

    分析:就是模拟,先用map去映射每一个字符串,3种分别为1,2,3,然后进行统计判定即可,注意坑点就是输出时候有单复数区别,还有输出格式比较容易错。

    代码:

    /* ***********************************************
    Author        :Torrance_ZHANG
    Created Time  :2016/5/2 15:04:40
    File Name     :ceshi.cpp
    ************************************************ */
    
    #include<iostream>
    #include<stdio.h>
    #include<queue>
    #include<string.h>
    #include<math.h>
    #include<string>
    #include<map>
    using namespace std;
    map<string,int>mm;
    struct Node{
        string name;
        string nation;
        Node(string a="",string b=""):name(b),nation(a){}
    };
    void init(){
        mm["Kamen"]=mm["Rock"]=mm["Pierre"]=mm["Stein"]=mm["Ko"]=mm["Koe"]=mm["Sasso"]=mm["Roccia"]=mm["Guu"]=mm["Kamien"]=mm["Piedra"]=1;
        mm["Nuzky"]=mm["Scissors"]=mm["Ciseaux"]=mm["Schere"]=mm["Ollo"]=mm["Olloo"]=mm["Forbice"]=mm["Choki"]=mm["Nozyce"]=mm["Tijera"]=2;
        mm["Papir"]=mm["Paper"]=mm["Feuille"]=mm["Papier"]=mm["Papir"]=mm["Carta"]=mm["Rete"]=mm["Paa"]=mm["Papier"]=mm["Papel"]=3;
    }
    int main(){
        string a,b;
        init();
        int id=1;
        bool flag=false;
        while(cin>>a>>b){
            Node na(a,b);
            cin>>a>>b;
            Node nb(a,b);
            string op;
            int num[5]={0};
            while(cin>>op){
                if(!flag){
                    if(op=="-"||op=="."){
                        cout<<"Game #"<<id++<<":"<<endl;
                        cout<<na.name<<": "<<num[1]<<" point" << (num[1]==1?"":"s")<<endl;
                        cout<<nb.name<<": "<<num[2]<<" point"<<(num[2]==1?"":"s")<<endl;
                        if(num[1]==num[2])
                            cout<<"TIED GAME"<<endl;
                        else if(num[1]>num[2]){
                            cout<<"WINNER: "<<na.name<<endl;
                        }
                        else if(num[1]<num[2]){
                            cout<<"WINNER: "<<nb.name<<endl;
                        }
                        cout<<endl;
                        if(op=="."){
                            flag=true;
                        }
                        break;
                    } else{
                        string op2;
                        cin>>op2;
                        if(mm[op]!=mm[op2]){
                            if(mm[op]==1&&mm[op2]==2){
                                num[1]++;
                            }
                            else if(mm[op]==1&&mm[op2]==3){
                                num[2]++;
                            }
                            else if(mm[op]==2&&mm[op2]==1){
                                num[2]++;
                            }
                            else if(mm[op]==2&&mm[op2]==3){
                                num[1]++;
                            }
                            else if(mm[op]==3&&mm[op2]==1){
                                num[1]++;
                            }
                            else if(mm[op]==3&&mm[op2]==2){
                                num[2]++;
                            }
                        }
                    }
                }
            }
            if(flag)
                return 0;
        }
    }
  • 相关阅读:
    随机森林算法参数调优
    BAYES和朴素BAYES
    阿里云 金融接口 token PHP
    PHP mysql 按时间分组 表格table 跨度 rowspan
    MySql按周,按月,按日分组统计数据
    PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类
    thinkphp5 tp5 会话控制 session 登录 退出 检查检验登录 判断是否应该跳转到上次url
    微信 模板消息
    php 腾讯 地图 api 计算 坐标 两点 距离 微信 网页 WebService API
    php添加http头禁止浏览器缓存
  • 原文地址:https://www.cnblogs.com/Torrance/p/5452419.html
Copyright © 2011-2022 走看看