博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1978
阅读量:4550 次
发布时间:2019-06-08

本文共 800 字,大约阅读时间需要 2 分钟。

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

 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\n",dp[n-1][m-1]);
41     }
42     return 0;
43 }

转载于:https://www.cnblogs.com/acvc/p/3509503.html

你可能感兴趣的文章
POJ 2081
查看>>
记录下zend studio 的xdebug 在调试安装
查看>>
ES6阅读笔记
查看>>
数字基带信号分类
查看>>
移动HTML5前端性能优化指南(转)
查看>>
Jq 遍历each()方法
查看>>
Android源码分析:Telephony部分–phone进程
查看>>
关于 redis.properties配置文件及rule
查看>>
WebService
查看>>
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
23种设计模式中的命令模式
查看>>
[转载]年薪10w和年薪100w的人,差在哪里?
查看>>
shell 日期参数
查看>>
尼姆游戏(吃花生米问题)
查看>>
最小瓶颈路
查看>>
PHP isset()与empty()的使用区别详解
查看>>
Android自定义控件(五)自定义Dialog QuickOptionDialog
查看>>
初学java之面板布局的控制
查看>>
简单的验证码识别(opecv)
查看>>