题目链接:http://121.42.142.123/JudgeOnline/problem.php?id=1227

题目描述

你是一只生活在笼子里的实验室老鼠。实验室是一个R行C列的格子矩阵(1 ≤ R,C ≤ 25). 每个格子是一个笼子. (尼玛还要我活么……)为了让你锻炼身体,实验室管理员允许你在笼子之间移动。你只能向右和向下移动。你不能斜着移动,也不能向上和向左移动。你所在的笼子是实验室的左上角,标记为(1,1)。你想去右下角的笼子(R,C)里找你的女朋友(尼玛老鼠也有女盆友么!!!)。但是有一些笼子是不能经过的,因为里面有猫(谁说老鼠怕猫么,还有,管理员有毛病么……)。你女朋友很爱数学,她想要知道有多少条不同的路径可以从你的笼子到达她的笼子。写一个程序来计算吧。(这样的女朋友不要也罢……)

输入

第一行包含2个整数R和C,第二行一个整数K,代表包含猫的笼子的个数,接下来K行包含K个不同的位置信息,代表K个包含猫的笼子的位置信息,注意(1,1)和(R,C)这两个位置是不会有猫的, 否则出题者就没法活了……

输出

输出一个非负整数代表你可以去你女朋友笼子里和她啪啪啪的路径数目,你可以假设这个输出会严格小于1,000,000,000。

样例输入

2 3
1
2 1

样例输出

2
思路:简单dp,当前步数等于上一步可走两条路径的和即:f[i][j]=f[i-1][j]+f[i][j-1];
代码如下:
#include<string.h>
#include<stdio.h>
#define M 30int flag[M][M],f[M][M];
int r,c,k,a,b;int main(){
while(scanf("%d%d",&r,&c)!=EOF){scanf("%d",&k);for(int i=1;i<=k;++i){scanf("%d%d",&a,&b);flag[a][b]=1;}for(int i=1; i<=r; ++i){if(flag[i][1]==0) f[i][1]=1;else break;}for(int j=1; j<=c; ++j){if(flag[1][j]==0) f[1][j]=1;else  break;}for(int i=2; i<=r; ++i)for(int j=2; j<=c; ++j){if(flag[i][j]==0)f[i][j]=f[i-1][j]+f[i][j-1];//只是向右方,下方走,那么走到该点的步数就是上左两点的步数之和 }printf("%d\n",f[r][c]);
}
return 0;
}

老鼠的求爱之旅 (DP)相关推荐

  1. 老鼠之Atlas之旅(一):Atlas官方站点

    1,MSDN上的Atlas 网站 稍微翻译下: Installing the ASP.NET "Atlas" Web Site Template Step-by-step inst ...

  2. HDU1160 FatMouse's Speed —— DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS ...

  3. [leetcode 913] 猫和老鼠(博弈、dp)

    题目链接: https://leetcode-cn.com/problems/cat-and-mouse/ 题目大意: 在一张无向图中,老鼠开始处于1号点,猫开始处于2号点,0号点是洞(猫不能进入), ...

  4. J - FatMouse's Speed

    J - FatMouse's Speed 题目入口:J - FatMouse's Speed 解题思路 这道题要求我们排出最大的体重越来越大速度越来越慢的老鼠序列. 首先我们需要一个结构体存放每个老鼠 ...

  5. bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3598 数位DP...东看西看:http://www.cnblogs.com/Artanis/ ...

  6. 沙漠之旅(二维dp)

    "小胖要穿越一片沙漠,小胖开着一辆大吉普,小胖的吉普油耗高,吉普能放四桶油." 这就是人人会唱的沙漠之歌~~体现了小胖拔群的聪明才智. 小胖的问题是这样的:现在需要驾车穿越一片沙漠 ...

  7. 【SCOI2014】方伯伯的商场之旅【数位dp】【单峰函数】

    题意:给定 l,r,kl,r,kl,r,k ,对于一个 kkk 进制数,将数码看成这个位置的石子个数,每将一个石子移动 111 的距离需要 111 的代价.求 [l,r][l,r][l,r] 中的所有 ...

  8. 【BZOJ3598】【SCOI2014】方伯伯的商场之旅(数位dp)

    传送门 似乎做出来之后很简单了 显然对于每一个数都是在带权中点最优 假设先把所有数都移到最后一位 再枚举有多少能往左移更优 考虑显然在找中点的时候能往左移的条件是当前位置前缀大于后缀 而前后缀之差的范 ...

  9. [NOI2005]聪聪与可可(期望dp)

    题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...

最新文章

  1. 使用spring aop实现业务层mysql 读写分离
  2. php广告轮播效果,使用swiper组件实现轮播广告效果
  3. Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!
  4. js事件技巧方法整合
  5. 社交类产品设计的9个点,整不好会挨怼~
  6. occ-backend-base-url 的相关代码,如何调试?
  7. 牛客网【每日一题】7月8日 Alliances
  8. Go语言程序记录日志
  9. python爬虫requests源码链家_Python爬虫之---爬链家
  10. 解决在Android Studio 3.2找不到Android Device Monitor工具
  11. linux源码scripts目录是什么,linux-kernel – linux / scripts / recordmcount:没有这样的文件或目录...
  12. 研究别人,能知道做什么赚钱,了解自己,能知道什么钱适合赚
  13. 突破10万高并发的nginx性能优化经验(含内核参数优化)...
  14. atitit.插件体系设计总结o73.doc
  15. 潜利KINGLEE触摸屏维修喷码机显示屏电脑
  16. mysql的pdb文件在哪里_pdb是什么文件?pdb数据库文件怎么打开?
  17. linux清理根目录空间,如何快速清理Linux磁盘空间
  18. 最原始的yuv图像叠加文字的实现--手动操作像素
  19. 桃园三结义c语言程序,三国典故:桃园三结义
  20. tensorflow serving入门笔记

热门文章

  1. 计算机录入速度标准,怎么提高电脑录入速度?
  2. 中原银行张本晨:中原银行数字化营销体系建设实践
  3. 年入近1亿,曾被20家VC拒绝,如今电商是他大客户,数据处处有黄金
  4. Android设置窗体Activity背景透明
  5. 在创业之路上不断创新
  6. Word转换英文为大写小写的方法
  7. ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码
  8. Android使用开源项目Xutils实现多线程下载文件
  9. CLR Via CSharp读书笔记(14):字符、字符串和文本处理
  10. PHP serialize JSON 解析