3094 寻找sb4

 时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 黄金 Gold
 查看运行结果
 
 
题目描述 Description

sb有一天和sml吵架了,她离家出走,走到了一个a*a的正方形里,她迷路了!

A为入口,

B为sb。

正在此时,sml来到了迷宫入口,他和她都很着急,求最快要x步(从入口进,从入口出)(要*2)

‘0’为水,‘1’为路,‘2’为障碍物,‘3’为草地(可以走)。‘4’为树(也走不了),‘5’为石头(可以走)

输入描述 Input Description

a

a*a个数(A,B也在内)

输出描述 Output Description

x(A,B只统计1次)

样例输入 Sample Input

5

0 0 0 0 A

1 1 1 1 1

3 2 4 1 0

5 5 5 5 0

0 0 0 3 B

//画横线的为路径!

样例输出 Sample Output

12

数据范围及提示 Data Size & Hint

a<=500

对于30%的数据只有“1”和“0”。

对于60%的数据没有“3”和“5”

对于100%的数据,路程>=10.

当行不通时“printf(“NoNE!”);”

#include<cstdio>
#include<iostream>
using namespace std;
int sum=0,n,ff=0,x[5]={0,1,0,0,-1},y[5]={0,0,1,-1,0},f[501][501],xx[501],yy[501];
int ans[501][501];
char map[501][501];

int main()
{
int sbx,sby;
scanf("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
char r;
f[i][j]=1;
cin>>r;
map[i][j]=r;
if (r=='A') {
xx[1]=i;
yy[1]=j;
f[i][j]=0;
}
if (r=='B'){
sbx=i;
sby=j;
}
if (r=='2'||r=='4'||r=='0') f[i][j]=0;
}
int head=0,tail=1;
while (head!=tail)
{
head++;
int aa=xx[head],bb=yy[head];
for (int i=1;i<=4;i++)
{
int a=xx[head]+x[i],b=yy[head]+y[i];
if (f[a][b]&&a<=n&&a>0&&b<=n&&b>0)
{
f[a][b]=0;
xx[++tail]=a;
yy[tail]=b;
ans[a][b]=ans[aa][bb]+1;
if (a==sbx&&b==sby)
{
ff=1;
break;
}
}
}
}
if (ff) cout<<ans[sbx][sby]*2;
else cout<<"NoNE!";
}

最新文章

  1. log4Net(写入日志文件)
  2. windows 下配置 nginx的问题
  3. 5 分钟上手 ECharts
  4. git流程及操作
  5. Centos Apache安装eAccelerator
  6. boost.ASIO-可能是下一代C++标准的网络库
  7. [PeterDLax著泛函分析习题参考解答]第2章 线性映射
  8. BZOJ3016: [Usaco2012 Nov]Clumsy Cows
  9. python学习教程(九)sqlalchemy框架的modern映射
  10. HDU-1757--A Simple Math Problem(矩阵乘法)
  11. C++中为什么构造函数初始化列表
  12. linux 标准目录
  13. 1.5编程基础之循环控制44:第n小的质数
  14. PTA 数据结构 银行业务队列简单模拟
  15. 《实战Nginx》读书笔记
  16. Python小代码_6_列表推导式求 100 以内的所有素数
  17. 由dubbo服务禁用system.gc而引起的思考
  18. Redis DeskTop Manager 使用教程
  19. Leetcode: The Maze(Unsolved locked problem)
  20. 常用浏览器内核!IE,Chrome ,Firefox,Safari,Opera 等内核

热门文章

  1. 封装mysql类
  2. WPF中实现
  3. Workspace Cloning / Sharing in Jenkins
  4. hadoop文件系统FileSystem详解 转自http://hi.baidu.com/270460591/item/0efacd8accb7a1d7ef083d05
  5. google pinyin elmentary os
  6. 华为项目管理10大模板Excel版(可直接套用_非常实用)
  7. 鸟哥的linux私房菜学习记录之例行性工作
  8. 如何从innodb的数据字典里恢复表结构
  9. win10 python nltk安装
  10. Caused by: javax.xml.bind.JAXBException: standardPremiumUpdateMessageDTO is not a valid property on