HDU 1208 跳格子题(很经典,可以有很多变形)
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1208
Pascal's Travels
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2795 Accepted Submission(s): 1298
Consider the 4 x 4 board shown in Figure 1, where the solid circle identifies the start position and the dashed circle identifies the target. Figure 2 shows the three paths from the start to the target, with the irrelevant numbers in each removed.
Figure 1 
Figure 2
Hint
Brute force methods examining every path will likely exceed the allotted time limit.
64-bit integer values are available as "__int64" values using the Visual C/C++ or "long long" values
using GNU C/C++ or "int64" values using Free Pascal compilers.
#include<bits/stdc++.h>
using namespace std;
#define max_v 40
long long dp[max_v][max_v];//dp[i][j] 表示到达i行j列有多少种走法
long long a[max_v][max_v];
char s[max_v];
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n==-1)
break;
getchar();
for(int i=0;i<n;i++)
{
scanf("%s",s);
for(int j=0;j<strlen(s);j++)
{
a[i][j]=s[j]-'0';
}
}
memset(dp,0,sizeof(dp));
dp[0][0]=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]==0)//防止死循环
continue;
if(j+a[i][j]<n)//向右边跳
{
dp[i][j+a[i][j]]+=dp[i][j];
}
if(i+a[i][j]<n)//向下跳
{
dp[i+a[i][j]][j]+=dp[i][j];
}
}
}
printf("%lld\n",dp[n-1][n-1]);
}
return 0;
}
HDU 1208 跳格子题(很经典,可以有很多变形)的更多相关文章
- HDU 1208 Pascal's Travels 经典 跳格子的方案数 (dp或者记忆化搜索)
Pascal's Travels Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Su ...
- HDU 1728 逃离迷宫(DFS经典题,比赛手残写废题)
逃离迷宫 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 一道很经典的 BFS 题
一道很经典的 BFS 题 想认真的写篇题解. 题目来自:https://www.luogu.org/problemnew/show/P1126 题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运 ...
- HDU 1241 Oil Deposits(经典DFS)
嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 很经典的一道dfs,但是注意每次查到一个@之后,都要把它变成“ * ”,然后继续dfs ...
- java 基础题 很基础, 很有趣
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底, 老手们就不用进来了,免得笑话我们这些未出校门的孩纸们, ...
- HTTP协议详解(真的很经典)(转载)
HTTP协议详解(真的很经典):http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html 引言 HTTP是一个属于应用层的面向对象的协 ...
- hdu 1254(搜索题)
推箱子 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- HDU-1042-N!(Java大法好 && HDU大数水题)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- 为IT程序员量身定制的12个目标——很经典
对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前.新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用. 01. 变得有耐心 02. 保持健康 ...
随机推荐
- Node.js+websocket+mongodb实现即时聊天室
ChatRoom Node.js+websocket+mongodb实现即时聊天室 A,nodejs简介:Node.js是一个可以让javascript运行在服务器端的平台,它可以让javascrip ...
- drupal读取mysql的longblob字段
unserialize($event->variables)
- win10 程序crash后弹出 XXX已停止工作
需要attach调试器的时候弹出的"XXX已停止工作"很方便, 现在win10默认禁用掉了. 恢复的方法是: win+R 输入gpedit.msc回车 管理模板 -> Win ...
- Climbing Stairs 爬楼梯问题,每次可以走1或2步,爬上n层楼梯总方法 (变相fibonacci)
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- Java基础之JSONObject的使用
private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject. ...
- C# winfrom提示框,点击则不显示,不点击则提示输入内容
先看下效果图,初次进来是界面左边的效果,点击请输入账号,清除内容,可以直接输入,右边图 以下代码是失去焦点的,一定要把控件的属性TabStop 改 ...
- Linux学习---Linux安装ftp组件
1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 添 ...
- docker容器修改hosts文件,重启失效问题解决
docker容器修改hosts文件 搜了一大批资料,有说需要在docker run --hosts...改:dockerfile改:有点麻烦,下面方案比较好: 参照docker吧(https://ti ...
- svn使用教程及常见问题解决方案
使用教程转自:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本 ...
- fzu_oop_east 第二次作业
这次有四题: 题目1:(这题本身没难度,就是听说格式比较坑,好像) 代码: #include<iostream> #include<cstdio> using namespac ...