HDU 1978 How many ways
2015-08-10 10:50
363 查看
题目地址:点击打开链接
思路:看清题,机器人只能向下或向右走,和杭电1028挺像,把代码随便改了下,结果老是运行出错,把代码嵌到别人的代码试试才发现死循环了,每次走的步数是向下和和向右的和
错误代码:
AC代码:
dp[x][y]记录的是点(x,y)到点(n-1,m-1)的数量,dp[x][y]的数量可以由它所到达的点的dp[x][y]的和求出来
思路:看清题,机器人只能向下或向右走,和杭电1028挺像,把代码随便改了下,结果老是运行出错,把代码嵌到别人的代码试试才发现死循环了,每次走的步数是向下和和向右的和
错误代码:
#include <iostream> #include<cstring> using namespace std; int map1[105][105]; int dp[105][105]; int n,m; int dfs(int x,int y) { int newx,newy,i,j; if(dp[x][y] || !map1[x][y]) return dp[x][y]; for(i=0; i<=map1[x][y]; i++) { for(j=0; j<=map1[x][y]-i; j++) { newx = x + i; newy = y + j; if(newx>=0 && newy>=0 && newx<n && newy<m)//i和j同时为0就陷入死循环了 dp[x][y] = (dp[x][y] + dfs(newx,newy)) % 10000; } } return dp[x][y]; } int main() { int i,j,t; cin>>t; while(t--) { cin>>n>>m; memset(dp,0,sizeof(dp)); for(i=0; i<n; i++) { for(j=0; j<m; j++) { cin>>map1[i][j]; } } dp[n-1][m-1] = 1; cout<<dfs(0,0)<<endl; } return 0; }
AC代码:
dp[x][y]记录的是点(x,y)到点(n-1,m-1)的数量,dp[x][y]的数量可以由它所到达的点的dp[x][y]的和求出来
#include <iostream> #include<cstring> using namespace std; int map1[105][105]; int dp[105][105]; int n,m; int dfs(int x,int y) { int newx,newy,i,j; if(dp[x][y] || !map1[x][y])//map[i][j]为0时肯定没有到点(n-1,m-1)的路,返回dp[x][y],此时dp[x][y]为0 return dp[x][y]; for(i=0; i<=map1[x][y]; i++) { for(j=0; j<=map1[x][y]-i; j++) { newx = x + i; newy = y + j; if(newx>=0 && newy>=0 && newx<n && newy<m && i+j!=0) dp[x][y] = (dp[x][y] + dfs(newx,newy)) % 10000; } } return dp[x][y]; } int main() { int i,j,t; cin>>t; while(t--) { cin>>n>>m; memset(dp,0,sizeof(dp)); for(i=0; i<n; i++) { for(j=0; j<m; j++) { cin>>map1[i][j]; } } dp[n-1][m-1] = 1; cout<<dfs(0,0)<<endl; } return 0; }
相关文章推荐
- LeetCode 211. Add and Search Word - Data structure design
- mysql在同一个服务器中把表从一个数据库转到另一个数据库中
- SDUT 1028 Catch That Cow (BFS)
- Android多媒体系统分析-AudioTrack
- 根据需要找到需要的数据在datable
- 枚举子集 增量构造法 位向量法 二进制法
- win32下利用python操作printer
- 在SQL2008查找某数据库中的列是否存在某个值
- HDOJ 1072 Nightmare(BFS)
- 利用业务事务处理WEB服务交互
- Activity的生命周期
- 解放号占楼送大礼活动新浪微博火热进行中
- ImageLoader加载图片配置
- 用java实现批量下载选中文件
- Android版本支付宝集成获取私钥与公钥
- Android照片墙应用实现,再多的图片也不怕崩溃
- 深入理解JVM内幕
- HDU 5365 Run (判断正方形个数)
- st_mode 的位定义
- java流概述