• POJ1704 Georgia and Bob


    有个很毒瘤的事就是位置不是按顺序给出的......

    发现每次我们能够把一个棋子向左挪且不能越过下一个。那么考虑两个棋子之间的间隙,就是一个阶梯博弈了。

     1 #include <cstdio>
     2 #include <algorithm>
     3 
     4 const int N = 100010;
     5 
     6 int a[N], b[N];
     7 
     8 inline void solve() {
     9     int n;
    10     scanf("%d", &n);
    11     for(int i = 1; i <= n; i++) {
    12         scanf("%d", &a[i]);
    13     }
    14     std::sort(a + 1, a + n + 1);
    15     for(int i = 1; i <= n; i++) b[i] = a[i] - a[i - 1] - 1;
    16     int ans = 0;
    17     for(int i = n; i >= 1; i -= 2) {
    18         ans ^= b[i];
    19     }
    20     if(ans) {
    21         printf("Georgia will win
    ");
    22     }
    23     else printf("Bob will win
    ");
    24     return;
    25 }
    26 
    27 int main() {
    28     int T;
    29     scanf("%d", &T);
    30     while(T--) {
    31         solve();
    32     }
    33 
    34     return 0;
    35 }
    AC代码
  • 相关阅读:
    2020.02.22周末作业清单
    2020.2.21作业清单
    2020.2.20作业清单
    数学题目
    2020.2.19作业单
    Request对象
    HTTP协议
    http协议
    tomcate
    servlet-3-相关配置
  • 原文地址:https://www.cnblogs.com/huyufeifei/p/10551889.html
Copyright © 2020-2023  润新知