拯救ice-cream Tyvj P1117 题解
依旧还是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 题解相关推荐
- Gym 101194D Ice Cream Tower
被一道数位DP折磨得欲仙欲死之后,再做这道题真是如同吃了ice cream一样舒畅啊 #include<bits/stdc++.h> using namespace std; #defin ...
- Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性
据有关消息报道,下一版本安卓(9.0)的初步代号已经确定为"Pistachio Ice Cream"(开心果冰淇淋),并将带来极大的功能变化. 当然了按照Google的惯例,如此长 ...
- 【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring
http://codeforces.com/contest/805/problem/E [题意] 染色数是很好确定,最少染色数是max(si)(最小为1,即使所有的si都为0,这样是单节点树形成的森林 ...
- CodeForces - 805E - Ice cream coloring dfs+贪心
题意:有一棵具有 n 个节点的树,每个节点代表一个集合,表示集合内两两元素的颜色不同,同时保证集合中拥有某个元素的所有的节点附带着边提取出来,能够形成一个连通图,即不可能出现有三个节点 v1,v2,v ...
- Android 9.0 “Pistachio Ice Cream”新功能和特性
热文导读 | 点击标题阅读 一份年薪30万的Android面试宝典,附答案 吊炸天!74款APP完整源码! 一个 IT 青年北漂四年的感悟 来自:开源中国 内容整理自 快科技:http://news. ...
- Android 4.0(Ice Cream Sandwich, 简称ICS,冰激凌三明治)
Android 系统4.0 命名为 Ice Cream Sandwich(简称ICS,冰淇淋三明治),是谷歌发布新一代操作系统.Android4.0 拥有十大重点新特性.集成谷歌电视和Chrome O ...
- CodeForces - 1004E Sonya and Ice Cream
题面在这里! 挺智障的一个二分...我还写了好久QWQ,退役算啦 题解见注释... /*先对每个点记录 向子树外的最长路 和 向子树内最长路,然后二分.二分的时候枚举链的LCA直接做就好啦. */ # ...
- 算法笔记-哈希表之冰淇淋购买问题(Ice Cream Parlor)
问题描述: sunny和johny两个人要到冰激凌店买冰淇淋.店里每次都有很多种口味,每种口味有自己的单价.他们俩一共带的钱总数为money.所有口味的单价组成一个列表是array.要求两个人必须将所 ...
- 2016-2017 ACM-ICPC CHINA-Final(EC-final) 题解(10 / 12)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2016-2017 ACM-ICPC CHINA-Final 比赛链接:https://codefor ...
最新文章
- day01_Loadrunner基础流程
- mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf
- win-tc不能在win7下使用
- vue里面怎么删除部分页面_基于VUE选择上传图片并页面显示(图片可删除)
- c++类指针赋值表达式必须是可修改的左值_C++进阶教程系列:全面理解C++中的类...
- CTR深度学习模型之 DIEN(Deep Interest Evolution Network) 的理解与示例
- 第48课 加加乐 《小学生C++趣味编程》
- CSS样式之内容居中方法
- MyEclipse项目无法自动编译解决方案
- 毕业设计-springboot+vue公租房租赁管理系统
- 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
- 淘宝嘉年华5元无门槛红包使用范围 怎么设置淘宝嘉年华5元无门槛红包
- C语言1.打印各种三角形
- 人为什么要睡觉(胡说八道)
- 如何成为一个优秀的数据分析师?
- 2022 年 Python 程序员值得学习的 8 种工具
- 淘宝商家批量上架宝贝的方式有哪些
- c语言 at指令gprs,gprs AT 指令
- php 如何生成noncestr,如何创建和使用nonce
- Google搜索中国定制版已黄了,百度再次PK的希望或落空