bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles

P2873 [USACO07DEC]泥水坑Mud Puddles

bfs入门。

对于坐标为负的情况,我们可以给数组下标加上$abs(min(minx,miny))$转正(根据题意判断)

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<queue>
 5 #define re register
 6 using namespace std;
 7 #define M 502
 8 const int d1[4]={0,1,0,-1};
 9 const int d2[4]={1,0,-1,0};
10 struct node{int x,y,t;}; queue <node> h;
11 int tx,ty,n; bool vis[M*2+5][M*2+5];
12 int main(){
13     scanf("%d%d%d",&tx,&ty,&n); tx+=M;ty+=M; int q1,q2;
14     for(int i=1;i<=n;++i) scanf("%d%d",&q1,&q2),vis[q1+M][q2+M]=1;
15     h.push((node){M,M,0}); vis[M][M]=1;
16     while(!h.empty()){
17         node u=h.front(); h.pop();
18         for(int i=0;i<4;++i){
19             int r1=u.x+d1[i],r2=u.y+d2[i];
20             if(vis[r1][r2]) continue;
21             if(r1==tx&&r2==ty){
22                 printf("%d",u.t+1);
23                 return 0;
24             }h.push((node){r1,r2,u.t+1}),vis[r1][r2]=1;
25         }
26     }
27 }

原文地址:https://www.cnblogs.com/kafuuchino/p/9862611.html

时间: 2024-08-25 06:53:08

bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles的相关文章

穿越泥地(mud) (BFS)

问题 C: 穿越泥地(mud) 时间限制: 1 Sec  内存限制: 128 MB提交: 16  解决: 10[提交][状态][讨论版] 题目描述 清早6:00,FJ就离开了他的屋子,开始了他的例行工作:为贝茜挤奶.前一天晚上,整个农场刚经受过一场瓢泼大雨的洗礼,于是不难想象,FJ现在面对的 是一大片泥泞的土地.FJ的屋子在平面坐标(0,0)的位置j贝茜所在的牛棚则位于坐标(x,y) (-500≤x≤500; -500≤Y≤500)处.当然,FJ也看到了地上的所有N(1≤N≤10000)个泥塘,

POJ 3626 Mud Puddles

Description Farmer John is leaving his house promptly at 6 AM for his daily milking of Bessie. However, the previous evening saw a heavy rain, and the fields are quite muddy. FJ starts at the point (0, 0) in the coordinate plane and heads toward Bess

英语电影剧本大全(中英对照)

目     录 <泰坦尼克号>全部英文剧本 TV REPORTER: Treasure hunter Brock Lovett is best known for finding Spanish gold off islands in the best Caribbean. LIZZY: It’s OK, I’ll get you in a minutes. Come on. TV REPORTER: Now he is using Russian subs to reach the most

分页查询的那些坑和各种技巧

背景 从上周开始我就一直在做数据清洗的工作,这次算是体会到了什么叫做“抛开数据量谈实现就是耍流氓”. 我设计方案和调试代码连接的都是日常环境的数据库,里面的单表数据量在百级,无论我怎么实现都是瞬间洗完.到了性能测试的时候用的就是性能库,双 11 之前@W君做性能测试的时候,往里面写入了 2000W 的数据,足够我战个痛快. 深坑 一开始的时候,分页查询用的是 limit 子句,SQL 语句形态如下. select * from table where xxx in (1,2,3) order b

bzoj1627[Usaco2007 Dec]穿越泥地*

bzoj1627[Usaco2007 Dec]穿越泥地 题意: 网格中有一些障碍物,求从起点到终点最小步数.-500≤坐标≤500 题解: bfs.所有坐标均加上500,就可以只考虑第一象限了. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <queue> 5 #define inc(i,j,k) for(int i=j;i<=k;i++)

软件工程的瀑布, 大泥球, 教堂,集市,和银弹

0x1 No Silver Bullet 1           There is no royal road, but there is a road 软件工程缺乏一剂良药,在硬件成本随着发展速度快速下降的同时,软件工程的成本并没有出现明显的下降,然而,随着软件工程持续的.坚持不懈的发展,软件工程正在发生着重量级的变化. 2           Does It Have to Be Hard?--Essential Difficulties 必须观察到异常不是软件进展如此缓慢,而是计算机硬件进

阅读笔记-软件工程的大泥球

软件工程的大泥球 (原文地址:http://www.laputan.org/mud/) 大泥球的定义:A BIG BALL OF MUD is a casually, even haphazardly, structured system. Its organization, if one can call it that, is dictated more by expediency than design. 文中作者拿软件构建和建筑做类比,我觉得是很合理的.软件架构师对应于建筑设计师,要做整

【转】MUD教程--巫师入门教程1

<新巫师入门手册> 第一章:观念篇■ 内容提要:什么是巫师?怎样做一个巫师?如何做好一个巫师? 第二章:上手篇■ 内容提要:最简单的房间怎么写?NPC又怎么写?先看懂一些常用的参数? 第三章:理解篇■ 内容提要:什么是LPC?什么是函数.对象?只有理解才有利于消化 第四章:见习篇■ 内容提要:我要工作了,怎么edit?怎么update?又怎么用call? 第五章:补遗篇■ 内容提要:好好消化变量.函数的意义,完全掌握各种符号的运用. 巫师园地 入门手册 观念篇 第 一 章 观 念 篇  认 识

MUD教程--巫师入门教程3

1. 指令格式为:edit <档名>,只加文件名,默认为当前目录,加here,表示编辑你当前所处的房间, 回车后即进入线上编辑系统. 2. 如果这是一个已经有的档案,你可以使用 z 或 Z 来看档案.z表示一次显示20行,Z表示一次显示40行.为了编辑方便,最好在开始时用 n 表示每一行在开头处显示它的行数,再用一次 n 取消行数显示: 3. 还有一种方法 ,就是直接打入行数,则会跳至那行的内容上:4. 如果你开始没打 n ,却想知道现在是第几行请打 = , 想知道内容请打 p :5 如果想直