zoukankan      html  css  js  c++  java
  • C++-POJ2960-S-Nim-[限制型Nim]

    每次只能从取集合S中个数的物品,其他和普通Nim游戏相同

    预处理出每种物品堆的sg值,然后直接xor一下,xor-sum>0即必胜

     1 #include <set>
     2 #include <map>
     3 #include <cmath>
     4 #include <queue>
     5 #include <vector>
     6 #include <cstdio>
     7 #include <cstdlib>
     8 #include <cstring>
     9 #include <iostream>
    10 #include <algorithm>
    11 using namespace std;
    12 #define N 10001
    13 int k,m,l,s[101],sg[N],vis[N],ans,a;
    14 int main(){
    15     while(scanf("%d",&k)&&k){
    16         for (int i=1;i<=k;i++)scanf("%d",&s[i]);
    17         sort(s+1,s+k+1);
    18         memset(sg,0,sizeof(sg));//sg[0]=0;
    19         for(int i=1;i<N;i++){
    20             memset(vis,0,sizeof(vis));
    21             for(int j=1;j<=k&&s[j]<=i;j++)vis[sg[i-s[j]]]=1;
    22             for(int j=0;;j++)if(!vis[j]){sg[i]=j;break;}
    23             }
    24         for(scanf("%d",&m);m--;){
    25             for(ans=0,scanf("%d",&l);l--;)scanf("%d",&a),ans^=sg[a];
    26             putchar(ans?'W':'L');
    27         }
    28         puts("");
    29     }
    30     return 0;
    31 }
    ~~Jason_liu O(∩_∩)O
  • 相关阅读:
    RegExp实例
    Date类型之组件方法
    Date类型之继承方法
    数组常见方法下
    Math对象
    数组常见方法上
    CSS变量
    基本类型和引用类型
    Python习题集(十五)
    Python习题集(十四)
  • 原文地址:https://www.cnblogs.com/JasonCow/p/12337750.html
Copyright © 2011-2022 走看看