CF540C Ice Cave

2024-03-04 07:32
文章标签 ice cave cf540c

本文主要是介绍CF540C Ice Cave,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这题就是一个裸的BFS,luogu的翻译不好,建议看原文QAQ

const z:array[1..4,1..2]of -1..1=((1,0),(0,1),(-1,0),(0,-1));
var i,j,k:longint;m,n,h,t:longint;ch:char;a,b:array[0..601,0..601]of boolean;x,y:array[0..1000000]of longint;fx,fy,lx,ly:longint;
procedure yes;//写成过程方便
beginwrite('YES');halt;
end;
procedure no;
beginwrite('NO');halt;
end;
beginreadln(m,n);for i:=1 to m dobeginfor j:=1 to n dobeginread(ch);if ch='X' then a[i,j]:=false;//不要看翻译那么玄学,就是不能走就好了if ch='.' then a[i,j]:=true;end;readln;end;readln(fx,fy,lx,ly);a[fx,fy]:=true;if (fx=lx)and(fy=ly) then//起点和终点相同的特判begink:=0;for i:=1 to 4 doif a[lx+z[i,1],ly+z[i,2]] then inc(k);if k<1 then no else yes;end;if a[lx,ly] then//如果终点是浮冰,则要到终点旁的一个点绕一下begink:=0;for i:=1 to 4 doif a[lx+z[i,1],ly+z[i,2]] then inc(k);if k<2 then no;//所以必须要有2个及以上的浮冰end elsea[lx,ly]:=true;//终点赋成true,BFS起来方便//队列的初始化,不多说h:=1;t:=1;x[1]:=fx;y[1]:=fy;repeatif(x[t]=lx)and(y[t]=ly)then yes;//到终点了QAQfor i:=1 to 4 doif a[x[t]+z[i,1],y[t]+z[i,2]] thenbegin//进入队列inc(h);a[x[t]+z[i,1],y[t]+z[i,2]]:=false;x[h]:=x[t]+z[i,1];y[h]:=y[t]+z[i,2];end;inc(t);//出队until t>h;no;//走不到QAQ
end.

裸的BFS但是代码不短啊QAQ

这篇关于CF540C Ice Cave的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/772454

相关文章

ice skating cf218c

题目链接 题意大概就是 小明初学滑雪只能借靠雪堆他通过一个雪堆可以向上下左右四个方向划,问想要把所有雪堆连接它至少需要再建几个雪堆。 本来想的是通过一个雪堆然后在该行和该列拓展把所有该行和该列的雪堆都除掉然后判断最后剩下几个雪堆只需要将他们连起来就行,结果是忽略了被除掉的雪堆也有可能和其他雪堆有联系。 正解:通过一个雪堆不断地dfs其他雪堆然后把这些能连起来的雪堆当作一条路径然后将其记录。一共有几

ICE协议下NAT穿越的实现

前言: 之前写了篇关于WebRTC的文章:iOS下音视频通信-基于WebRTC ,由于它是基于点对点连接的,自然而然需要NAT穿越的技术,否则消息将无法传递。 在WebRTC使用了ICE协议框架,里面提到了STUN和TURN两个协议,而NAT穿越实现就是由这两个协议共同协调完成的。 正文: 一. 首先来简单讲讲什么是NAT? 原来这是因为IPV4引起的,我们上网很可能会处在一个NAT设备

WebRTC之STUN与TURN以及ICE

在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。 很多时候,我们希望处于不同内部网络中的两台主机能够直接进行通信,即所谓的P2P通信,避免通过其他公共服务器的中转的方式来降低实时通信的延迟。 由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。 这种技术通常称

HDU2122 Ice_cream’s world III【Kruskal】

Ice_cream’s world III Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 997    Accepted Submission(s): 321 Problem Descrip

Ice Lake CPU RESET流程

1、 处理器支持3种reset,分别是cold reset和warm reset和PWRGD reset; a) cold reset是指在首次上电触发CPU的PWRGOOD和RESET_N,其中PWRGD的触发需要在Base Clock就绪并且power都已经稳定之后才可以,该reset将会复位处理器里的所有的状态,包括被其他reset阻止的sticky state。 b) warm res

15. STUN协议和ICE工作原理

NET介绍 NAT是一种地址转换技术,它可以将IP数据报文头中的IP地址转换为另一个IP地址,并通过转换端口号达到地址重用的目的。 在大多数网络环境中,我们都需要通过 NAT 来访问 Internet。 NAT作为一种缓解IPv4公网地址枯竭的过渡技术,由于实现简单,得到了广泛应用。 NAT解决了什么问题? 随着网络应用的增多,IPv4地址枯竭的问题越来越严重。 尽管IPv6可以从根本上解决

ZeroC Ice 安装

Linux环境 下载anzhuangba wget http://www.zeroc.com/download/Ice/3.4/Ice-3.4.1-rhel5-i386-rpm.tar.gz 解压 tar -zxvf Ice-3.4.1-rhel5-i386-rpm.tar.gz 安装C++和Java rpm -ivh ice-3.4.1-1.rhel5.noarch.rpmrpm

Hud 2120 Ice_cream's world I[并查集]

题目链接:点击打开链接 该题就是判环个数。 #include<stdio.h>const int N=1005;int n,m,father[N],Number;void Init(){for(int i=0;i<=n;i++)father[i]=i;Number=0;}int find(int x){if(x!=father[x])father[x]=find(father

ICE-BA代码解析

从main函数开始,读取左右相机,IMU的配置文件,加载左相机和右相机的图像列表,然后进入循环处理依次处理每一帧图像并跟踪特征点,特征点跟踪使用的Brisk库,和通用的跟踪过程相似,我们主要关注特征点跟踪之后的处理流程。以双目为例: 1. 函数create_iba_frame() 函数create_iba_frame()会将跟踪的左右图像特征点,IMU数据转化为IBA::CurrentFram

TURN/STUN/ICE NAT的基本知识

NAT NAT有4种不同的类型 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.不管是不是C发过来的. 例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 A(192.168.8.100:5000) -> NAT(202.100.100