题解

1 条题解

  • 0
    @ 2017-03-09 20:52:31
    #include<cstdio>
    using namespace std;
    int data[1010],f[1010][1010];
     int n,m;
    
    int main()
    { 
       
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
        scanf("%d",&data[i]);
       data[i]%=m;
       
        f[i][data[i]]=1;
        
        } 
        for(int i=2;i<=n;i++)
           for(int j=m-1;j>=0;j--){
          if(j-data[i]<0)
    {
           f[i][j]+=f[i-1][j]+f[i-1][j+m-data[i]];
           f[i][j]%=1234567;
    }       
           else {
             f[i][j]+=f[i-1][j]+f[i-1][j-data[i]];
             f[i][j]%=1234567;
           }
          
    
           } 
           
           printf("%d",f[n][0]);
        return 0;
    }
    
  • 1

信息

难度
9
分类
动态规划 点击显示
标签
(无)
递交数
6
已通过
1
通过率
17%
上传者