zoukankan      html  css  js  c++  java
  • hdu1978

       
    //从上到下从左向右扫一遍即可,类似一维硬币拼凑 

     1

    //二维0-1背包
     2//dp[i+k][j+p]+=dp[i][j]; (计数dp)
     3//中等偏下题目 4#include<cstdio>
     5 #include<cstring>
     6 #include<algorithm>
     7 #define MAX 1000
     8 #define mod 10000
     9 using namespace std;
    10 int dp[MAX][MAX];
    11 int map[MAX][MAX];
    12 int main()
    13 {
    14     int cas,m,n;
    15     scanf("%d",&cas);
    16     while(cas--)
    17     {
    18         scanf("%d %d",&n,&m);
    19         for(int i=0;i<n;i++) for(int j=0;j<m;j++)
    20         scanf("%d",&map[i][j]);
    21         memset(dp,0,sizeof(dp));
    22         dp[0][0]=1;
    23         for(int i=0;i<n;i++)
    24         {
    25             for(int j=0;j<m;j++)
    26             {
    27                 for(int k=0;k<=map[i][j];k++)
    28                 {
    29                     for(int p=0;p<=(map[i][j]-k);p++)
    30                     {
    31                         if(k!=0||p!=0)
    32                         {
    33                             dp[i+k][j+p]+=dp[i][j];
    34                             dp[i+k][j+p]%=mod;
    35                         }
    36                     }
    37                 }
    38             }
    39         }
    40         printf("%d ",dp[n-1][m-1]);
    41     }
    42     return 0;
    43 }

  • 相关阅读:
    SGX技术初探
    DH 密钥交换算法
    SSM整合框架实现ajax校验
    为什么要重写toString()方法和hashcode()方法
    java数组实现简单的DVD管理
    java冒泡排序
    windows下java环境变量配置
    Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
    Eclipse SVN 冲突的 介绍 及 四种解决方式
    java中的重载(overload)和重写(override)区别
  • 原文地址:https://www.cnblogs.com/acvc/p/3509503.html
Copyright © 2011-2022 走看看