HDU 1978 How many ways DP路径
来源:互联网 发布:手机上音乐截取软件 编辑:程序博客网 时间:2024/05/16 11:09
传送门:HDU 1978 How many ways
分析:
路径数目DP。
dp[x][y]代表x,y到终点的方案数
代码如下:
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;#define INF 0x3f3f3f3f#define ms(x, y) memset(x, y, sizeof(x))const double PI = acos(-1.0), eps = 1e-8;int map[101][101];int dp[101][101];int main() { int cas,i,j,n,m,ii,jj; scanf("%d",&cas); while(cas--) { scanf("%d%d",&n,&m); ms(dp, 0); dp[0][0] = 1; for(i=0; i<n; i++) { for(j=0; j<m; j++) { scanf("%d",&map[i][j]); if(map[i][j]==0) continue; // 这也算是剪枝把 提高效率还是妥妥的 for(ii=i; ii<=i+map[i][j]&&ii<n; ii++) { for(jj=j; jj<=j+map[i][j]&&jj<m; jj++) { if(ii==i && jj==j) continue; if(ii-i+jj-j <= map[i][j]) dp[ii][jj] = (dp[ii][jj] + dp[i][j]) % 10000; } } /* for(ii=0; ii<=map[i][j]&&ii<n; ii++) { for(jj=0; jj<=map[i][j]-i&&jj<m; jj++) { if(ii==0 || jj==0) continue; } } */ } } printf("%d\n",dp[n-1][m-1]); } return 0;}
1 0
- HDU 1978 How many ways DP路径
- HDU 1978 How many ways (DP)
- hdu 1978 How many ways(dp)
- HDU 1978 How many ways(DP)
- How many ways - HDU 1978 dp
- HDU 1978 How many ways(DP)
- HDU 1978 How many ways (DP,计数)
- 【DP|水】HDU-1978 How many ways
- HDU 1978 How many ways(DP)
- HDU 1978 How many ways (DP)
- Hdu 1978 How many ways(dp)
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways
- linux学习笔记二,文件操作
- 使用nginx管理docker容器
- 希尔排序增量序列简介
- android studio activity传参
- Dos之For循环示例
- HDU 1978 How many ways DP路径
- 前端新人学习横向下拉菜单总结
- 动手实验室—SSM2框架整合实例
- unix环境编程之more编写
- 2017年人工智能的三大趋势
- 自制悬浮框,愉快地查看栈顶 Activity
- Android:打电话和发短信:由姓名获取到电话
- PHP---图表技术
- 下拉选择框