zoukankan      html  css  js  c++  java
  • 【多校练习4签到题】HDU 4642—— Fliping game

    来源:点击打开链接

    看上去很难,比赛的时候光看hehe了,也没有想。

    但是仔细想想,是可以想出来的。一个棋盘上每个格子摆放一个硬币,硬币有正面1和反面0之分。现在两个人可以按照规则翻硬币,选择(x,y),要求(x,y)的硬币必须是正面,那么从(x,y)向右下角所有的硬币都被翻转。知道某个人无法翻(所有硬币都是反面)为止,这个人判输。

    有一种特殊情况,那就是右下角,每次都被反转。

    无论如何翻,如果右下角开始的是1,则Alice赢,反之后手赢。因为其他的硬币不论怎么翻,右下角的硬币永远是这样,所以其他的策略不重要。明白了这一点,这个题就水爆炸了。


    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <string>
    using namespace std;
    
    int mat[109][109];
    
    int main()
    {
        int testcase;
        cin>>testcase;
        while(testcase--)
        {
            memset(mat,0,sizeof(mat));
            int n,m;
            cin>>n>>m;
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                    scanf("%d",&mat[i][j]);
            }
            if(mat[n-1][m-1]==1)
                cout<<"Alice"<<endl;
            else
                cout<<"Bob"<<endl;
    
        }
        return 0;
    }
    
    


  • 相关阅读:
    图片处理帮助类
    网站前端的优化
    状态码大全
    服务端性能监控工具Nmon使用方法
    jmeter测试报告解析
    jmeter聚合报告
    jmeter跨线程组调用参数
    jmeter生成测试报告
    Jmeter获取cookie
    monkey的使用方法和常见命令
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3236887.html
Copyright © 2011-2022 走看看