hdu 1978 How many ways
2013-07-09 16:58
274 查看
题目
http://acm.hdu.edu.cn/showproblem.php?pid=1978分析
每一次状态转移的决策数目为该格子能量的值,横纵坐标减去当前格子坐标差的和只要小于格子能量的就都可以到达复杂度
空间复杂度O(M*N);时间复杂度O(M*N*E^2)涉及内容
算法:动态规划感想
简单DP,只不过需要特殊考虑的地方为:从当前节点能到达的所有目标节点(用二重循环搞定)代码
#include <iostream> using namespace std; long hdu1978[101][101]; int n1978,m1978; void mod10000(int x,int y,int num) { int xx,yy; for(int i=0;i<=num;++i) { xx=(x+i);//xx=(x+i)>n?n:(x+i); if(xx>n1978) continue; for(int j=0;j<=num-i;++j)//考虑从当前节点能到达的目标节点 { if(i==0&&j==0) continue; yy=y+j;//yy=(y+j)>m?m:(y+j); if(yy>m1978) continue; hdu1978[xx][yy]=(hdu1978[xx][yy]+hdu1978[x][y])%10000; } } } int main() { freopen("in.txt","r",stdin); int T,temp; cin>>T; while(T--) { cin>>n1978>>m1978; memset(hdu1978,0,101*101*sizeof(long)); hdu1978[1][1]=1; for(int i=1;i<=n1978;++i) { for(int j=1;j<=m1978;++j) { cin>>temp; mod10000(i,j,temp); } } cout<<hdu1978[n1978][m1978]<<endl; } return 0; }
参考文献
相关文章推荐
- hdu 1978 How many ways
- HDU 1978 How many ways
- HDU--杭电--1978--How many ways--记忆化搜索--这个鸟东西应该能算半个DP吧
- HDU 1978 How many ways (dfs 记忆化搜索)
- hdu-1978 How many ways
- HDU1978--How many ways
- hdu 1978 How many ways (记忆化搜索)
- hdu1978_How many ways
- HDU 1978 How many ways
- HDU 1978 How many ways (DP)
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu1978 How many ways(好题 %)
- 动态规划 hdu 1978 How many ways
- hdu 1978 How many ways(DP)
- 搜索 hdu 1978 How many ways
- hdu1978--How many ways(内存搜索)
- hdu 1978 How many ways
- hdu 1978 How many ways
- hdu 1978 How many ways(DP)