zoukankan      html  css  js  c++  java
  • bzoj 1228 [SDOI2009]E&D(sg函数,找规律)

     

     

    Description

     

    小E 与小W 进行一项名为“E&D”游戏。游戏的规则如下:桌子上有2n 堆石子,编号为1..2n。其中,为了方便起见,我们将第2k-1 堆与第2k 堆(1 ≤ k ≤ n)视为同一组。第i堆的石子个数用一个正整数Si表示。一次分割操作指的是,从桌子上任取一堆石子,将其移走。然后分割它同一组的另一堆石子,从中取出若干个石子放在被移走的位置,组成新的一堆。操作完成后,所有堆的石子数必须保证大于0。显然,被分割的一堆的石子数至少要为2。两个人轮流进行分割操作。如果轮到某人进行操作时,所有堆的石子数均为1,则此时没有石子可以操作,判此人输掉比赛。小E 进行第一次分割。他想知道,是否存在某种策略使得他一定能战胜小W。因此,他求助于小F,也就是你,请你告诉他是否存在必胜策略。例如,假设初始时桌子上有4 堆石子,数量分别为1,2,3,1。小E可以选择移走第1堆,然后将第2堆分割(只能分出1 个石子)。接下来,小W 只能选择移走第4 堆,然后将第3 堆分割为1 和2。最后轮到小E,他只能移走后两堆中数量为1 的一堆,将另一堆分割为1 和1。这样,轮到小W 时,所有堆的数量均为1,则他输掉了比赛。故小E 存在必胜策略。

     

    Input

     

    的第一行是一个正整数T(T ≤ 20),表示测试数据数量。接下来有T组数据。对于每组数据,第一行是一个正整数N,表示桌子上共有N堆石子。其中,输入数据保证N是偶数。第二行有N个正整数S1..SN,分别表示每一堆的石子数。

     

    Output

     

    包含T 行。对于每组数据,如果小E 必胜,则输出一行”YES”,否则输出”NO”。

     

    Sample Input

     

    2
    4
    1 2 3 1
    6
    1 1 1 1 1 1

     

    Sample Output

     

    YES
    NO
    【数据规模和约定】
    对于20%的数据,N = 2;
    对于另外20%的数据,N ≤ 4,Si ≤ 50;
    对于100%的数据,N ≤ 2×104,Si ≤ 2×109。
     
     

     

    【思路】

     

           拿个暴力打个表,然后找规律 lalala。

     

    【代码】

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 using namespace std;
     5 typedef unsigned long long LL;
     6 
     7 int n,m;
     8 
     9 int sg(int x,int y) {
    10     LL tmp=2;
    11     for(int i=0;;i++,tmp*=2)
    12         if((x-1)%tmp<tmp/2 && (y-1)%tmp<tmp/2) return i;
    13 }
    14 
    15 int main() {
    16     int T; scanf("%d",&T);
    17     while(T--) {
    18         scanf("%d",&n);
    19         n/=2; int x,y,ans=0;
    20         for(int i=1;i<=n;i++) {
    21             scanf("%d%d",&x,&y);
    22             ans^=sg(x,y);
    23         }
    24         if(ans) puts("YES");
    25         else puts("NO");
    26     }
    27     return 0;
    28 }
  • 相关阅读:
    java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header.
    spring-session-data-redis依赖冲突问题
    centos7启动iptables时报Job for iptables.service failed because the control process exited with error cod
    图片上传后台服务报内存溢出 Out Of Memory Java heap space
    mysql 数据库密码忘记重置 进行远程连接
    打Jar包
    Type interface com.innovationV2.mapper.UserMapper is not known to the MapperRegistry
    关于java基础类型Integer String的clone()
    clion使用clang编译
    token & refresh token 机制总结
  • 原文地址:https://www.cnblogs.com/lidaxin/p/5224796.html
Copyright © 2011-2022 走看看