HDU 1536 SG函数

简介:

这题也是一道sg函数的模板题,没有任何变形,明确了允许移动的数目范围后可以用SG函数直接解决,记住SG要将S数组中的数从小到大排序。

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int k,num[120],f[10002];
int mex1(int p)
{
    int i,t;
    bool g[101]= {0};
    for(i=0; i<k; i++)
    {
        t=p-num[i];
        if(t<0)
            break;
        if(f[t]==-1)
            f[t]=mex1(t);
        g[f[t]]=1;
    }
    for(i=0;; i++)
        if(!g[i])
            return i;
}
int main()
{
    while(~scanf("%d",&k),k)
    {
        memset(f,-1,sizeof(f));
        f[0]=0;
        for(int i=0; i<k; i++)
            scanf("%d",&num[i]);
        sort(num,num+k);
        int n,m,s;
        for(int i=1; i<=10000; i++)
            f[i]=mex1(i);
        scanf("%d",&n);
        while(n--)
        {
            scanf("%d",&m);
            s=0;
            int x;
            for(int i=0; i<m; i++)
                scanf("%d",&x),s^=f[x];
            if(s)
                printf("W");
            else
                printf("L");
        }
        printf("\n");
    }
    return 0;
}


目录
相关文章
|
7月前
|
Java 测试技术
hdu 1228 A + B
hdu 1228 A + B
50 0
|
C++ Java
HDU1880
题意就是根据咒语查功能,根据功能查看是否存在相应咒语,题意简单,不过是道不错的练习题。         下面的都MLE了,听说C++用G++提交才可以AC,否则也MLE;方法很多,不想做了……         方法一:我用Java的HashMap一直MLE,即便由value反查key减少映射数也一样MLE,听说C++的map可以AC。
1085 0
|
人工智能 BI Java
HDU 1003
Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 105228    Accepted Submission(s): 242...
897 0
|
人工智能 Java
HDU 1257
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4182    Accepted Submission(s): 1528 ...
784 0
|
人工智能
hdu2084数塔
经典问题了,题意我就不叙述了(题目是中文的~) 分析:dp[i][j]表示在第i行第j个位置上能取得的最大和,那么要从最后一行开始算起,到塔顶结束:dp[i][j] = a[i][j]+max(dp[i+1][j], dp[i+1][j+1]), 边界条件是dp[n][j] = a[n][j]; ...
671 0
hdu 4463 Outlets
点击打开链接hdu 4463 思路:最小生成树+kruskal 分析: 1 题目要求的找到n个商店组成n-1条边,并且要求耐克和苹果商店肯定要相连,求最短长度 2 很明显的最小生成树的模板题,由于要求耐克和苹果的商店要在一起那么就要把这两个商店编号合并到同一个集合,然后在利用kruskal计算。
909 0