zoukankan      html  css  js  c++  java
  • [bzoj4131]并行博弈_博弈论

    并行博弈 bzoj-4131

    题目大意题目链接

    注释:略。


    想法:我们发现无论如何操作都会使得$(1,1)$发生改变。

    所以单个$ACG$的胜利条件就是$(1,1)$是否为黑色。

    如果为黑色那么可以让它变成白的。接下来无论对手如何操作都可以通过翻转$(1,1)$使得进入对手回合。

    那么多个$ACG$相加就是取异或和即可。

    Code:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    inline char nc() {static char *p1,*p2,buf[100000]; return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}
    int rd() {int x=0; char c=nc(); while(!isdigit(c)) c=nc(); while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=nc(); return x;}
    int main()
    {
        int cases=rd(); while(cases--)
        {
            int ans=0;
            int T=rd(); while(T--)
            {
                int n=rd(),m=rd(); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++)
                {
                    int x=rd(); if(i==1&&j==1) ans^=x;
                }
            }
            if(ans) puts("lyp win");
            else puts("ld win");
        }
        return 0;
    }
    

    小结:博弈论问题还是要善于观察问题啊!

  • 相关阅读:
    3D文字菜单变换
    妙味课堂作业20160113(优化版)
    pop up layer loading
    妙味课堂作业20160113
    妙味课堂20160112js实例仿新浪菜单
    js面向对象初探
    sea.js demo
    注册ASP.NET
    JDK1.6 环境配置
    JDK1.7环境配置
  • 原文地址:https://www.cnblogs.com/ShuraK/p/10106436.html
Copyright © 2011-2022 走看看