bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛

题意:

n行m列的草地上有一些位置有障碍物。第0时刻奶牛在(r1,c1),第t时刻奶牛在(r2,c2)(注意这里都是行在前,列在后),求奶牛走的方案数。n,m≤100,t≤15。

题解:

dp。f[i][j][k]表示当前为第i时刻,在j行k列,则f[i][j][k]=f[i+1][j-1][k]+f[i+1][j+1][k]+f[i+1][j][k-1]+f[i+1][j][k+1],前提是这些位置不出边界且不为障碍物。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define maxn 110
 5 #define inc(i,j,k) for(int i=j;i<=k;i++)
 6 #define dec(i,j,k) for(int i=j;i>=k;i--)
 7 using namespace std;
 8
 9 int n,m,t,x[maxn][maxn],y[maxn][maxn],x1,y1,x2,y2; char map[maxn][maxn];
10 int main(){
11     scanf("%d%d%d",&n,&m,&t); inc(i,1,n)scanf("%s",map[i]+1); scanf("%d%d%d%d",&x1,&y1,&x2,&y2); x[x2][y2]=1;
12     dec(i,t,1){
13         memset(y,0,sizeof(y));
14         inc(j,1,n)inc(k,1,m){
15             if(j+1<=n&&map[j+1][k]!='*')y[j][k]+=x[j+1][k];
16             if(j-1>=1&&map[j-1][k]!='*')y[j][k]+=x[j-1][k];
17             if(k+1<=m&&map[j][k+1]!='*')y[j][k]+=x[j][k+1];
18             if(k-1>=1&&map[j][k-1]!='*')y[j][k]+=x[j][k-1];
19         }
20         swap(x,y);
21     }
22     printf("%d",x[x1][y1]); return 0;
23 }

20160802

转载于:https://www.cnblogs.com/YuanZiming/p/5732524.html

bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛*相关推荐

  1. BZOJ1616[Usaco2008 Mar]Cow Travelling游荡的奶牛 dp

    Description 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John ...

  2. bzoj1616 [Usaco2008 Mar]Cow Travelling游荡的奶牛 [BFS]

    Description 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John ...

  3. BZOJ1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛

    题目传送门 题解: 水题一道 bfs水过 代码直接抄黄学长的 #include<iostream> #include<cstdio> using namespace std; ...

  4. [BZOJ1616][Usaco2008 Mar]Cow Travelling游荡的奶牛(dfs||dp)

    题目描述 传送门 题解 看题了之后算了算,步数只有15步,似乎加了这个剪枝之后状态很少啊= =于是直接开始码bfs.码出来了之后发现对拍大数据老是出错,而且把剪枝加的越少数越小!原来我忽略了一个非常重 ...

  5. bzoj 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(BFS)

    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1293  Solved ...

  6. BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛【DP】

    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Description 奶牛们在被划分成N ...

  7. BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs

    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1290  Solved ...

  8. 【bzoj 1616】: [Usaco2008 Mar]Cow Travelling游荡的奶牛 dp

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1616 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Tim ...

  9. BZOJ 1616 Usaco2008 Cow Travelling

    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1412  Solved ...

最新文章

  1. 《深入浅出WPF》笔记——事件篇
  2. Android进阶:十三、自定义类加载器加载加密类文件
  3. 如何解决http封包中gzip编码的html
  4. Uptime Tier Ⅳ标准数据中心的柴发油路设计关键点
  5. import引入json文件_关于TypeScript中import JSON的正确姿势详解
  6. random_normal_initializer 使用
  7. Excel分列功能的妙用
  8. 简述原型模型的特点_3D打印硅胶复模手板的步骤和特点有哪些
  9. Scrapy_LinkExtractor
  10. Applying Multicycle Exceptions in the TimeQuest Timing Analyzer--Altera Note
  11. 网络打印机 RPC服务器不可用
  12. 莎拉波娃美网新赛服亮相
  13. python管道怎么使用_python中管道用法入门实例
  14. python的全局变量 local variable ‘xxx‘ referenced before assignment
  15. web安全day38:使用Vulhub一键搭建测试靶场
  16. 弹出浮层css+JQuery
  17. 单光感pid巡线_PID非常好的光感巡线思路
  18. 端口监听 端口通信(Socket,ServerSocket)
  19. java/js中语音提醒功能的实现
  20. ALGOL语言 发展历史

热门文章

  1. bluetooth射频已关闭请打开bluetooth射频_投资笔记:5G之射频研究
  2. [置顶] 黑马程序员 -- 多线程
  3. SQLserver的Always On 可用性组
  4. PromSql的写法详解
  5. 小技巧——windows应用商店 无法加载页面解决办法
  6. 201671010458 种兴达 实验三作业互评与改进报告
  7. 黑马程序员————高新技术————动态代理
  8. 单位弹性需求曲线形状_需求曲线为直线时,在单位弹性点上总收益为最大。 - 问答库...
  9. 灵魂画手图解Spring循环依赖
  10. 某计算机系统中有k台打印机,第三章复习题(2)