当前位置: 代码迷 >> C语言 >> 看看我的神奇的口袋(2)
  详细解决方案

看看我的神奇的口袋(2)

热度:307   发布时间:2008-03-17 09:56:47.0
int _Cnt[2][401];

struct{
    int* operator [] (int i){
        return _Cnt[i&1];
    }
}Cnt;

发现leeco很喜欢这样搞滚动数组。。。
----------------解决方案--------------------------------------------------------
DP是什么意思```
----------------解决方案--------------------------------------------------------
动态规划的英文缩写
----------------解决方案--------------------------------------------------------
int _Cnt[2][401];

struct{
    int* operator [] (int i){
        return _Cnt[i&1];
    }
}Cnt;
着滚动数组是什么意思啊
----------------解决方案--------------------------------------------------------
leeco的过不了啊
----------------解决方案--------------------------------------------------------
我和你一样的疑问..也不知道滚动是什么意思
----------------解决方案--------------------------------------------------------
DP貌似可以很容易的过,代码在15行内
----------------解决方案--------------------------------------------------------
指点一下啊
----------------解决方案--------------------------------------------------------
过了的代码
#include <stdio.h>
#include<string.h>
int main (int argc, const char** argv)
{
    int value[401];
    int a,n,i,temp;
    scanf ("%d",&n);
    memset(value,0,sizeof(value));
    while(n--)
    {
        scanf("%d",&a);
        for (i=400;i>=1;--i)
        {
            if (value[i]!=0)
            {
                temp=a+i;
                if (temp<=400)
                {
                    value[temp]+=value[i];
                    value[temp]%=10000;
                }
            }
        }
        value[a]++;
    }
    printf ("%d\n",value[400]);
    return 0;
}
----------------解决方案--------------------------------------------------------
  相关解决方案