zoukankan      html  css  js  c++  java
  • Aiiage Camp Day4 A Board game

    题意

      N个D维空间点,每次可将一个点移动至字典序小于它且大于0的坐标处。Alice和Bob轮流移动,最先无法移动者输。

      1<=n,d<=100

    题解

      每个维度相互独立。所以问题等价于D个尼姆博弈。

      将每个维度坐标-1异或起来,Bob胜利当且仅当所有异或值为0。

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int a[110][110], num[110];
     5 
     6 int main()
     7 {
     8     int T;
     9     scanf("%d", &T);
    10     while (T--)
    11     {
    12         int n, d;
    13         scanf("%d%d", &n, &d);
    14 
    15         bool pd(0);
    16         for (int i = 0; i < n; ++i)
    17             for (int j = 0; j < d; ++j)
    18                 scanf("%d", &a[i][j]);
    19         for (int i = 0; i < d; ++i)
    20         {
    21             int yh(0);
    22             for (int j = 0; j < n; ++j)
    23                 yh ^= a[j][i] - 1;
    24             if (yh != 0)
    25                 pd = 1;
    26         }
    27         if (pd)
    28             puts("Alice");
    29         else
    30             puts("Bob");
    31     }
    32     
    33     return 0;
    34 }
  • 相关阅读:
    二分专题
    数据结构-图
    Linux文件基本属性(以ls -l输出为例解释)
    shell脚本版素数筛
    Linux whereis,which
    Linux外网代理配置
    Linux三剑客
    Elasticsearch集群搭建(Linux)
    测试之路
    我的另一半
  • 原文地址:https://www.cnblogs.com/aseer/p/8461371.html
Copyright © 2011-2022 走看看