zoukankan      html  css  js  c++  java
  • P1328 生活大爆炸版石头剪刀布

    这是2014年提高组的一道简单的模拟题。

    暴力就可以AC。首先给出一个表格,表示输赢的情况,根据这个表格,我们便可以开score[][]来记录对战的得分情况,千万不要忘记这是两方面的,也就是说表格灰色部分也是需要处理的(我一开始就没有考虑)。然后因为他按周期出牌,所以要填充到长度为n,所以有两个方法,一个是取余,一个是循环,然而我看数据不算大,果断选择了循环。然后就是进行对战,将分数进行++即可。

    1.当调试发现思路和代码都没bug时就要去看数组开的对不对或者变量对不对。(特别时模拟样例都不对)

    2.简单的题一定快速去做,另外题干长,形式新,不一定代表逻辑复杂或难AC

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int a_t,b_t;
    int a_o[1000],b_o[1000];
    int a_s,b_s;
    int n;
    int temp=0;
    int score[5][5]={{0,0,1,1,0},{1,0,0,1,0},{0,1,0,0,1},{0,0,1,0,1},{1,1,0,0,0}};
    int main(){
        cin>>n>>a_t>>b_t;
        for(int i=1;i<=a_t;i++){
            cin>>a_o[i];
        }
        for(int i=1;i<=b_t;i++){
            cin>>b_o[i];
        }
        temp=a_t+1;
        while(temp<=n){//填满 
            for(int i=1;i<=a_t;i++){
                a_o[temp]=a_o[i];
                temp++;
            }
        }
        temp=b_t+1;
        while(temp<=n){ 
            for(int i=1;i<=b_t;i++){
                b_o[temp]=b_o[i];
                temp++;
            }
        }    
        for(int i=1;i<=n;i++){
            a_s+=score[a_o[i]][b_o[i]];
            b_s+=score[b_o[i]][a_o[i]];
        //    cout<<a_s<<"  "<<b_s<<endl;
        }
        cout<<a_s<<" "<<b_s;
        return 0;
    } 
  • 相关阅读:
    百度API车牌识别——Restful方式
    cxgrid 满足条件颜色显示
    cxgrid 增加右键菜单
    折线图堆积图
    echarts 堆积图
    echarts 柱型图和折线图组合
    图表自动轮播
    Delphi D10.3 FMX android 调用自带浏览器打开网页
    echarts-JSON请求数据
    堆叠条形图
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11342965.html
Copyright © 2011-2022 走看看