Luogu P1535 【游荡的奶牛】
搜索
不知道为什么没有人写bfs
觉得挺像是标准个bfs的
状态
因为要统计次数,不能简单地跳过一个被经过的点
这样的话,状态量会爆炸
采用记忆化
设dp[i][j][k]表示在第k分钟到达点(i,j)的方案数
以地点+时间作为状态
避免同一状态被反复拓展
这样,状态量将减少至最多100*100*15
转移
这就比较显然了
对于将被拓展的状态,在计数时加上当前状态的方案数
如果这个状态曾被拓展,就不要别的操作了
否则,将这一状态入队,预备拓展其他状态
代码是这样的:
#include<iostream> #include<cstdio> #include<queue> using namespace std; struct node{int x,y,s; //x、y表示坐标,s表示时间 }; queue<node>q; int n,m,t,r1,c1,r2,c2,dp[110][110][20]; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; //移动 string s[110]; int main() {cin>>n>>m>>t;for(int i=1;i<=n;i++)cin>>s[i];cin>>r1>>c1>>r2>>c2;dp[r1][c1][0]=1; //初始方案数为1q.push(node{r1,c1,0});while(!q.empty()){node u=q.front();q.pop();for(int i=0;i<4;i++){node th;th.x=u.x+dx[i];th.y=u.y+dy[i];th.s=u.s+1;if(dp[th.x][th.y][th.s]){dp[th.x][th.y][th.s]+=dp[u.x][u.y][u.s];continue; //当前状态曾被拓展 }if(th.x<1||th.x>n||th.y<1||th.y>m||s[th.x][th.y-1]=='*'||th.s>t)continue; //越界或不能走或超时,跳过dp[th.x][th.y][th.s]+=dp[u.x][u.y][u.s]; //计数 q.push(th);}}cout<<dp[r2][c2][t]<<endl;return 0; }
转载于:https://www.cnblogs.com/ivanovcraft/p/9160658.html
Luogu P1535 【游荡的奶牛】相关推荐
- P1535 游荡的奶牛
P1535 游荡的奶牛 题目描述 Searching for the very best grass, the cows are travelling about the pasture which ...
- [洛谷]P1535 游荡的奶牛 (#搜索 -2.7)
题目描述 Searching for the very best grass, the cows are travelling about the pasture which is represent ...
- bzoj 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(BFS)
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1293 Solved ...
- F. [usaco 2009 dec]游荡的奶牛 总结
F. [usaco 2009 dec]游荡的奶牛 总结 题目 F. [usaco 2009 dec]游荡的奶牛 时间限制:1s 空间限制:256MB 输入文件:sgraze-in 输出文件:sgraz ...
- [usaco 2009 dec]游荡的奶牛
游荡的奶牛 题目描述 FJ 有 N (1 <= N <= 50,000)头牛,FJ的草地可以认为是一条直线. 每只牛只喜欢在某个特定的范围内吃草.第i头牛喜欢在区间(S_i, E_i)吃草 ...
- [USACO Mar08] 游荡的奶牛
[USACO Mar08] 游荡的奶牛 时间限制:1 s 内存限制:128 MB 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游 ...
- BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛【DP】
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Description 奶牛们在被划分成N ...
- BZOJ 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1290 Solved ...
- 【bzoj 1616】: [Usaco2008 Mar]Cow Travelling游荡的奶牛 dp
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1616 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Tim ...
- bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛*
bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛 题意: n行m列的草地上有一些位置有障碍物.第0时刻奶牛在(r1,c1),第t时刻奶牛在(r2,c2)(注意这里都 ...
最新文章
- SpringCloud + Consul服务注册中心 + gateway网关
- 皮一皮:到底谁才是渣王...
- 主机信息收集技术 -Nmap
- java中的泛型的使用与理解
- (八)python3 只需3小时带你轻松入门——List 与 dict 的常用操作
- Launch Instruments
- python open函数 创建变量文件_python的open函数怎么用
- [学习笔记] PHP回调函数的实现方法 [转]
- 帆软报表决策系统自定义登录界面 使用验证码登录 教程一
- 万能声卡驱动win10_主流最新驱动程序下载地址分享 和垃圾驱动下载软件说再见...
- 脉歌蓝牙耳机线评测_性能均衡的真无线降噪耳机 脉歌MT-70开箱评测
- 百度离线地图瓦片图制作
- 精选推文 | 基于三代转录组的基因注释踩坑经历以及GSAman使用
- Linux-hostname查看及修改
- 手把手教你使用wordPress+阿里云虚拟主机搭建个人博客
- SpringBoot-事务应用场景和隔离级别与传播行为
- C. Equalize(贪心)
- ACM-ICPC 2018 南京赛区网络预赛:E :AC Challenge题解
- Ogre渲染优化心得(三) -- 优化天龙八部的地形
- Nginx 入门学习
热门文章
- 美国计算机考研难度排名,2019USnews美国大学研究生cs专业百强排名一览
- AS Library 使用NDK 的一些坑 Unable to strip library (+深入了解部分gradle机制)
- 本机微信开发环境搭建
- VS2013 EF6连接MySQL步骤
- 鸿蒙宴中座次理解错的是,鸿门宴的座位安排用意是什么
- 程序员小灰漫画算法合集
- 不同 frame 之间调用 js 函数
- c语言的输出格式之正负号
- debian VBoxManage 命令行安装 win2003
- 软件测试工程师自我介绍范文_应届生软件测试面试自我介绍范文6篇