ACM 152. [USACO Dec07] 泥潭(水BFS)
来源:互联网 发布:企业kk软件下载 编辑:程序博客网 时间:2024/04/27 17:57
152. [USACO Dec07] 泥潭
★☆ 输入文件:mud.in
输出文件:mud.out
简单对比时间限制:1 s 内存限制:128 MB
译 by CmYkRgB123
描述
Farmer John在早晨6点准时去给贝茜挤奶,然而昨天晚上下了大雨,他的牧场变得泥泞不堪了。Farmer John的家在坐标平面的 (0,0) 处,贝茜在 (X, Y) (-500 ≤ X ≤ 500; -500 ≤ Y ≤ 500)。他看见了所有的 N (1 ≤ N ≤ 10,000) 个泥潭,分别在 (Ai, Bi) (-500 ≤ Ai ≤ 500; -500 ≤ Bi ≤ 500) 。每个泥潭只占一个点的位置。
Farmer John 刚刚买了新的靴子,他绝对不想把靴子踩进泥潭弄脏,而他又想尽快的找到贝茜。他已经快晚了,因为他花了大量的时间来找到所有的泥潭的位置。 Farmer John 只能平行于坐标轴移动,每次移动一个单位。请你帮助 Farmer John 找到一条路,使得 Farmer John 能够最快的找到贝茜,而且不会弄脏靴子。我们约定一定存在一条路使 Farmer John 找到贝茜。
输入
* 第 1 行: 三个整数 X, Y, N
* 第 2..N+1 行: 第 i+1 行 包含两个整数 Ai , Bi
输出
* 第 1 行: Farmer John 能够最快的找到贝茜,而且不会弄脏靴子,要走的最小的距离。
样例输入
1 2 70 2-1 33 11 14 2-1 12 2
样例输出
11
水BFS
#include <iostream>#include <cstdio>using namespace std;#define MAX_W 1001#define MAX_Q 10000#define ADD(x) x=(x+1)%MAX_Qint tx,ty,N;int map[MAX_W][MAX_W];struct Pos{int x,y;int step;} queue[MAX_Q];int front,rear;bool vis[MAX_W][MAX_W];int dx[]={1,-1,0,0};int dy[]={0,0,1,-1};int main(){freopen("mud.in","r",stdin);freopen("mud.out","w",stdout);cin>>tx>>ty>>N;tx+=500;ty+=500;for(int i=0;i<N;i++){int a,b;cin>>a>>b;a+=500;b+=500;map[a][b]=true;}front=rear=0;queue[rear]=Pos{0+500,0+500,0};ADD(rear);vis[500][500]=true;int ans;while(front!=rear){Pos p=queue[front];ADD(front);if(p.x==tx && p.y==ty){ans=p.step;}for(int i=0;i<4;i++){int nx,ny;nx=p.x+dx[i];ny=p.y+dy[i];if(nx>=0 && nx<=1000 && ny>=0 && ny<=1000 && !vis[nx][ny] && !map[nx][ny]){queue[rear]=Pos{nx,ny,p.step+1};vis[nx][ny]=true;ADD(rear);}}}cout<<ans<<endl;return 0;}
0 0
- ACM 152. [USACO Dec07] 泥潭(水BFS)
- [USACO Dec07] 泥潭
- [USACO Dec07] 书架2
- ACM 138. [USACO Feb08] 流星雨(sort+BFS)
- ACM 130. [USACO Mar08] 游荡的奶牛(dp+BFS)
- ACM 161. [USACO Oct07] 障碍训练场(计数BFS)
- Acm BFS
- ACM 129. [USACO Mar08] 麻烦的干草打包机(BFS隐式图搜索)
- USACO / Overfencing(BFS)
- USACO Overfencing,BFS,FloodFill
- Usaco 2.4Overfencing(BFS)
- USACO maze1 BFS
- USACO 2.4 Overfencing (BFS)
- ACM 176. [USACO Feb07] 奶牛聚会(水Flyod)
- USACO 1.4.2 BFS 解法。
- USACO / Controlling Companies (类似BFS)
- USACO 4.4 Shuttle Puzzle bfs
- USACO-Magic Squares(bfs)
- P平凡之路
- UVA-12657 Box in line
- 彻底明白java的字节流和字符流
- struts2(五)action基础知识和数据校验
- android:windowSoftInputMode属性详解
- ACM 152. [USACO Dec07] 泥潭(水BFS)
- Codeforces Round #262 (Div. 2) C
- struts2(六)获取servletAPI和封装表单数据
- 朝花夕拾:Java中String,StringBuffer,StringBuilder使用方法以及异同比较
- 后会无期邓紫棋
- HDFS多硬盘挂载
- android如何实现开机自动启动Service或app
- C# ToString()的特殊用法
- struts2(七)数据类型转换详解