解析:假设机器人在(x,y)这个点,能量为power,那么可以到达它右下角曼哈顿距离小于等于power的地方,再以该点为起点继续搜索。

代码如下:

#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<iterator>
#include<utility>
#include<sstream>
#include<iostream>
#include<cmath>
#include<stack>
using namespace std;
const int INF=1000000007;
const double eps=0.00000001;
int row,col,maze[101][101];
int dp[101][101];
const int mod=10000;
int dfs(int x,int y)
{
if(x==row-1&&y==col-1) return 1; //到达终点
int& ret=dp[x][y]; //记忆化
if(ret!=-1) return ret;
ret=0;
for(int stx=x;stx<=x+maze[x][y]&&stx<row;stx++) //每一行找
for(int sty=y;stx+sty<=x+y+maze[x][y]&&sty<col;sty++) //每一列
{
if(stx!=x||sty!=y) //排除自己
{
ret+=dfs(stx,sty);
ret%=mod;
}
}
return ret%mod;
}
int main()
{
int T;
cin>>T;
while(T--)
{
cin>>row>>col;
for(int i=0;i<row;i++)
for(int j=0;j<col;j++) scanf("%d",&maze[i][j]);
memset(dp,-1,sizeof(dp));
int ans=dfs(0,0);
cout<<ans<<endl;
}
return 0;
}
 
 

最新文章

  1. WordPress建站和搭独立博客
  2. 部署基于国际版Azure的SharePoint三层架构服务器场
  3. SQL Server的“错误:9004”
  4. hdu2072 字典树
  5. js 闭包 详解
  6. 27 Best Free Eclipse Plug-ins for Java Developer to be Productive
  7. BZOJ 1264: [AHOI2006]基因匹配Match( LCS )
  8. PopUpManager弹出窗口
  9. HDU 2298 Toxophily(公式/三分+二分)
  10. 框架学习笔记之Hibernate
  11. centos 6.5升级openssl
  12. [VS SVN] VS的SVN插件AnkhSvn
  13. Sed+Grep 快速替换查找字段(批量替换字符串)
  14. 一学期积累下来的SQL语句写法的学习
  15. SSD基本工作原理
  16. .Net 三层架构开发初步
  17. AngularJs学习笔记--Managing Service Dependencies
  18. pthread_join和pthread_detach的用法
  19. Shell内置命令
  20. flask(列表实现)

热门文章

  1. Java日志终极指南
  2. SQL 查找 45道练习题
  3. JAVA读、写EXCEL文件
  4. 将字符串变成大写----C++实现
  5. 【COCOS2DX-对28游戏开发】 Cocos2d-x-3c 道路设计 CocosBase CocosNet CocosWidget
  6. HttpServletRequest对象请求转发和HttpServletResponse对象请求重定向之间的区别
  7. Ubuntu12.04 Git 服务器详细配置
  8. linux 系统下配置安装 java jdk 图文流程
  9. PHP学习笔记三十五【Try】
  10. IOS开发之程序执行状态更改