[BZOJ3299][USACO2011 Open]Corn Maze玉米迷宫
来源:互联网 发布:垫底辣妹原型知乎 编辑:程序博客网 时间:2024/04/28 17:28
传送门
http://www.lydsy.com/JudgeOnline/problem.php?id=3299
题目大意
求最短路,路上有传送门,站到其中一个点立即被传送到另一个点,不花费时间
题解
BFS,注意细节
const c:array[1..4]of longint=(0,-1,0,1); d:array[1..4]of longint=(-1,0,1,0);var w:array[0..300,0..300]of char; z:array[0..300,0..300]of longint; a:array[0..300,0..300,1..2]of longint; b:array[0..26,1..2]of longint; t:array[0..1000000,1..3]of longint; i,j,k:longint; n,m,tt,x,y,x1,y1,head,tail:longint;begin fillchar(b,sizeof(b),0); fillchar(a,sizeof(a),0); fillchar(z,sizeof(z),0); readln(n,m); for i:=1 to n do begin for j:=1 to m do begin read(w[i,j]); if w[i,j]='@' then begin x:=i; y:=j; end; if (ord(w[i,j])>64)and(ord(w[i,j])<91) then begin tt:=ord(w[i,j])-64; if b[tt,1]=0 then begin b[tt,1]:=i; b[tt,2]:=j end else begin a[i,j,1]:=b[tt,1]; a[i,j,2]:=b[tt,2]; a[b[tt,1],b[tt,2],1]:=i; a[b[tt,1],b[tt,2],2]:=j; end; end; end; readln; end; head:=1; tail:=2; t[1,1]:=x; t[1,2]:=y; t[1,3]:=0; z[x,y]:=1; while head<tail do begin x:=t[head,1]; y:=t[head,2]; inc(head); if w[x,y]='=' then begin writeln(t[head-1,3]); break; end; for i:=1 to 4 do begin x1:=x+c[i]; y1:=y+d[i]; if (x1<1)or(x1>n)or(y1<1)or(y1>m) then continue; if w[x1,y1]='#' then continue; if a[x1,y1,1]<>0 then begin j:=a[x1,y1,1]; k:=a[x1,y1,2]; x1:=j; y1:=k; end; if (z[x1,y1]=1) then continue; t[tail,1]:=x1; t[tail,2]:=y1; t[tail,3]:=t[head-1,3]+1; inc(tail); z[x1,y1]:=1; end; end;end.
0 0
- bzoj3299 [USACO2011 Open]Corn Maze玉米迷宫
- [BZOJ3299][USACO2011 Open]Corn Maze玉米迷宫
- [USACO2011 Open]Corn Maze玉米迷宫
- bzoj 3299: [USACO2011 Open]Corn Maze玉米迷宫 最短路
- USACO 玉米田迷宫 Corn Maze
- 洛谷 P1825 [USACO11OPEN]玉米田迷宫Corn Maze
- Luogu P1825 玉米田迷宫Corn Maze
- USACO 2011 Open Silver 1.Corn Maze (bfs)
- bzoj3299
- 2442: [Usaco2011 Open]修剪草坪
- 【BZOJ2442】【Usaco2011 Open】修剪草坪
- BZOJ2442: [Usaco2011 Open]修剪草坪
- 2442: [Usaco2011 Open]修剪草坪
- 迷宫MAZE(数据结构)
- 迷宫问题—Maze
- 走出迷宫 Maze
- hero in maze 迷宫
- Word Maze(单词迷宫)
- android 保存网上图片到手机并读取显示
- Cocos 3D功能初探学习笔记(2)---3D精灵
- 分页查询语句
- 关于textView收回键盘的几种方法
- java面试问题集锦01-Java程序设计概述
- [BZOJ3299][USACO2011 Open]Corn Maze玉米迷宫
- 字节对齐
- 《第一行代码》读书笔记(九)----服务
- PHP7源码笔记一
- XML parser for iOS
- 软考之J2SE
- couchbase ttl 设置问题
- 网络连接——文件下载(单线程/多线程)
- mac 和xcode常用快捷键