依旧还是BFS吧。
如果当前点是草地,则必须把草地先变成道路,拓展后的点与拓展前的点相同,并且时间+1,这样我们就保证了草地这个点经过了

两次,且时间增加了2

program P1117;constdx:array [1..4] of -1..1=(0,1,0,-1);dy:array [1..4] of -1..1=(1,0,-1,0);type atp=recordxx,yy,time:longint;end;vart,x,y,ex,ey,sx,sy,head,tail:longint;a:array [0..1000,0..1000] of char;que:array [0..1000] of atp;procedure init; vari,j:longint; beginreadln(t);readln(x);readln(y);for i:=y downto 1 dobeginfor j:=1 to x dobeginread(a[j,i]);case a[j,i] of's':beginsx:=j;sy:=i;end;'m':beginex:=j;ey:=i;end;end;{case}end;readln;end; end;procedure bfs; vari,tx,ty,mx,my,temp:longint; beginhead:=0;tail:=1;que[1].xx:=sx;que[1].yy:=sy;que[1].time:=0;a[sx,sy]:='o';while head<tail dobegininc(head);tx:=que[head].xx;ty:=que[head].yy;for i:=1 to 4 dobeginmx:=tx+dx[i];my:=ty+dy[i];if (mx=ex) and (my=ey) thenbeginif que[head].time+1>=t then writeln(55555) else writeln(que[head].time+1);halt;end;if (mx>0) and (mx<=x) and (my>0) and (my<=y) and (a[mx,my]<>'o') thenbeginif a[mx,my]='.' thenbegininc(tail);a[mx,my]:='o';que[tail].xx:=mx;que[tail].yy:=my;que[tail].time:=que[head].time+1;end;if a[mx,my]='#' thenbegininc(tail);a[mx,my]:='.';que[tail].xx:=tx;que[tail].yy:=ty;que[tail].time:=que[head].time+1;end;end;end;end; end;begininit;bfs;end.

拯救ice-cream Tyvj P1117 题解相关推荐

  1. Gym 101194D Ice Cream Tower

    被一道数位DP折磨得欲仙欲死之后,再做这道题真是如同吃了ice cream一样舒畅啊 #include<bits/stdc++.h> using namespace std; #defin ...

  2. Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性

    据有关消息报道,下一版本安卓(9.0)的初步代号已经确定为"Pistachio Ice Cream"(开心果冰淇淋),并将带来极大的功能变化. 当然了按照Google的惯例,如此长 ...

  3. 【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring

    http://codeforces.com/contest/805/problem/E [题意] 染色数是很好确定,最少染色数是max(si)(最小为1,即使所有的si都为0,这样是单节点树形成的森林 ...

  4. CodeForces - 805E - Ice cream coloring dfs+贪心

    题意:有一棵具有 n 个节点的树,每个节点代表一个集合,表示集合内两两元素的颜色不同,同时保证集合中拥有某个元素的所有的节点附带着边提取出来,能够形成一个连通图,即不可能出现有三个节点 v1,v2,v ...

  5. Android 9.0 “Pistachio Ice Cream”新功能和特性

    热文导读 | 点击标题阅读 一份年薪30万的Android面试宝典,附答案 吊炸天!74款APP完整源码! 一个 IT 青年北漂四年的感悟 来自:开源中国 内容整理自 快科技:http://news. ...

  6. Android 4.0(Ice Cream Sandwich, 简称ICS,冰激凌三明治)

    Android 系统4.0 命名为 Ice Cream Sandwich(简称ICS,冰淇淋三明治),是谷歌发布新一代操作系统.Android4.0 拥有十大重点新特性.集成谷歌电视和Chrome O ...

  7. CodeForces - 1004E Sonya and Ice Cream

    题面在这里! 挺智障的一个二分...我还写了好久QWQ,退役算啦 题解见注释... /*先对每个点记录 向子树外的最长路 和 向子树内最长路,然后二分.二分的时候枚举链的LCA直接做就好啦. */ # ...

  8. 算法笔记-哈希表之冰淇淋购买问题(Ice Cream Parlor)

    问题描述: sunny和johny两个人要到冰激凌店买冰淇淋.店里每次都有很多种口味,每种口味有自己的单价.他们俩一共带的钱总数为money.所有口味的单价组成一个列表是array.要求两个人必须将所 ...

  9. 2016-2017 ACM-ICPC CHINA-Final(EC-final) 题解(10 / 12)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2016-2017 ACM-ICPC CHINA-Final 比赛链接:https://codefor ...

最新文章

  1. day01_Loadrunner基础流程
  2. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf
  3. win-tc不能在win7下使用
  4. vue里面怎么删除部分页面_基于VUE选择上传图片并页面显示(图片可删除)
  5. c++类指针赋值表达式必须是可修改的左值_C++进阶教程系列:全面理解C++中的类...
  6. CTR深度学习模型之 DIEN(Deep Interest Evolution Network) 的理解与示例
  7. 第48课 加加乐 《小学生C++趣味编程》
  8. CSS样式之内容居中方法
  9. MyEclipse项目无法自动编译解决方案
  10. 毕业设计-springboot+vue公租房租赁管理系统
  11. 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
  12. 淘宝嘉年华5元无门槛红包使用范围 怎么设置淘宝嘉年华5元无门槛红包
  13. C语言1.打印各种三角形
  14. 人为什么要睡觉(胡说八道)
  15. 如何成为一个优秀的数据分析师?
  16. 2022 年 Python 程序员值得学习的 8 种工具
  17. 淘宝商家批量上架宝贝的方式有哪些
  18. c语言 at指令gprs,gprs AT 指令
  19. php 如何生成noncestr,如何创建和使用nonce
  20. Google搜索中国定制版已黄了,百度再次PK的希望或落空

热门文章

  1. 目前中国互联网现状和UI设计行业现状分析!
  2. 区块链游戏和元宇宙的关系
  3. 最近出现的几篇视觉和激光雷达SLAM论文介绍
  4. 三菱工控板底层源码_参赛-基于NuTiny-SDK-M451实现三菱PLC通讯板(原理图、PCB源文件、程序源码)...
  5. matlab 判断空字符串,测试空字符串和缺失值
  6. 都知道面向对象了,那么面向切面呢!通俗易懂带你走进面向切面编程!
  7. 西门子PLC配KUKA机器人程序
  8. 【免费分享】[哈佛极简经济学]
  9. 招聘区块链底层开发工程师(深圳)
  10. iOS: Segue Delegate