[USACO Dec07] 泥潭
来源:互联网 发布:计算机算法的特征 编辑:程序博客网 时间:2024/04/27 16:30
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 7
0 2
-1 3
3 1
1 1
4 2
-1 1
2 2
样例输出
11
把 泥潭标记成不可走,然后BFS.
#include<cstdio>#include<queue>using namespace std;const int maxn = 10000+100;int map[1100][1100];bool vis[1100][1100];int dx[]={1,-1,0,0};int dy[]={0,0,-1,1};bool check(int x,int y){ return x>=0&&y<=1000&&y>=0&&y<=1000;}int s_x,s_y;int ans;void bfs(){ queue<int >q; q.push(500); q.push(500); q.push(0); vis[500][500]=true; while(!q.empty()){ int x=q.front(); q.pop(); int y=q.front(); q.pop(); int step=q.front(); q.pop(); if(x==s_x&&y==s_y){ ans=step; return ; } for(int i=0;i<4;i++){ int nx=x+dx[i];int ny=y+dy[i]; if(check(nx,ny)&&!vis[nx][ny]&&map[nx][ny]==0){ vis[nx][ny]=true; q.push(nx); q.push(ny); q.push(step+1); } } }}int main(){ freopen("mud.in","r",stdin); freopen("mud.out","w",stdout); int n; int a,b; scanf("%d%d%d",&s_x,&s_y,&n); s_x+=500;s_y+=500; for(int i=0;i<n;i++){ scanf("%d%d",&a,&b); a+=500; b+=500; map[a][b]=1; } bfs(); printf("%d\n",ans); return 0;}
- [USACO Dec07] 泥潭
- ACM 152. [USACO Dec07] 泥潭(水BFS)
- [USACO Dec07] 书架2
- POJ - 3622/USACO - Dec07 Gold Gourmet Grazers 挑剔的美食家 重庆一中高2018级竞赛班第五次测试 2016.7.26 Problem 4
- 西游记泥潭指南
- 在软件泥潭中打滚
- 冲出软件Bug的泥潭
- 走出事业“泥潭”有良方
- 走出需求分析的泥潭
- 在泥潭中愈陷愈深的丁俊晖
- 揠苗助长导致联想陷入泥潭
- 第二章:泥潭中的群体
- USACO
- USACO
- usaco
- USACO
- USACO
- USACO
- Qt5 中对 C++11 一些新特性的封装
- JNI编程系列之高级篇
- 2012MDCC大会总结
- 黑马程序员之C#学习笔记:关于C#构造函数
- JNI编程系列之基础篇
- [USACO Dec07] 泥潭
- Photoshop吸管工具颜色取样技巧
- 编译原理0型到3型文法
- [推荐] C/C++程序员必知的一些国外站点
- hdu 1231
- 虚拟机找不到网卡
- 2013中兴校招笔试回忆版
- 谭浩强C第四版126页例5.4的瑕疵及随想
- c++中mutable