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!";
}

3094 寻找sb4的更多相关文章

  1. codevs 3094 寻找sb4

    3094 寻找sb4  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description sb有一天和sml吵架了,她 ...

  2. [LeetCode] Find the Celebrity 寻找名人

    Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist o ...

  3. [LeetCode] Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值之二

    Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...

  4. [LeetCode] Find Minimum in Rotated Sorted Array 寻找旋转有序数组的最小值

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  5. C语言 · 寻找数组中的最大值

    问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于100.输出数据分作两行:第一行只有一个数,表示数组元素个数:第二行为数组的各个元素. ...

  6. 【跟着子迟品 underscore】如何优雅地写一个『在数组中寻找指定元素』的方法

    Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. ...

  7. table寻找兄弟列的值

    function showCover(videoidtemp,curRow){ // curRow为当前元素.寻找当前元素的父元素,寻找父元素中class为tdd的元素..html() 是单元格td中 ...

  8. nyoj 448 寻找最大数(贪心专题)

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  9. php glob()函数实现目录文件遍历与寻找与模式匹配的文件路径

    采用PHP函数glob实现寻找与模式匹配的文件路径,主要讨论glob()函数的作用和用法,利用glob函数读取目录比其它的要快N倍,因为glob函数是内置函数处理起来自然要快. 一,函数原型 arra ...

随机推荐

  1. Ruby On Rails经典书籍下载地址

    Web开发敏捷之道-应用Rails进行敏捷Web开发   http://vdisk.weibo.com/s/t47M5Q3WInwc RUBY ON RAILS入门经典   http://downlo ...

  2. 「LAMP」在ubuntu及其衍生版上 安装LAMP

    在Ubuntu上安装LAMP 此种方法在Linux Mint 13/14/15/16/17.Ubuntu 12.10(Quantal Quetzal)和Ubuntu 13.04 Raring Ring ...

  3. yii2的GridView和ActiveDataProvider具体使用

    1.控制器中(以User模块的列表为例): 第一步: use backend\models\User;use yii\data\ActiveDataProvider; 第二步: public func ...

  4. ionic入门之AngularJS扩展基本布局

    目录: 标题栏 : ion-header-bar 页脚栏 : ion-footer-bar header/footer : 样式及内容 内容区 : ion-content 滚动框 : ion-scro ...

  5. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  6. Python标准库之核心模块学习记录

    内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...

  7. 2015.01.15(android AsyncTask)

    参考网址:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html /* * Params 启动任务执行的输入参数,比如HTT ...

  8. 为什么anylase和scenaio中的平均响应时间差别会这么大?

    场景里的响应时间截图如下所示: 结果里的响应时间截图如下所示:

  9. Android推送方案分析(MQTT/XMPP/GCM)

    本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案. 方案1. 使用GCM服务(Google Cloud ...

  10. thinkphp模板中截取中文字符串的方法分享

    前段用thinkphp写了一个系统,感觉thinkphp学起来比较容易,开发起来了比较顺手,其中一个关键的因素就是它的模版引擎相当强大,使用方法跟smarty类似,在模版中还可以用php代码,有模版包 ...