题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1100

这道题,自己初写搜索,给学长气的只打我,Orz.......

搜索的思路要理清楚!

代码:

 #include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<ctype.h>
#include<iomanip>
#include<queue>
#include<stdlib.h>
using namespace std;
int T,n,m;
int bx,by,ex,ey;
int map[][];
int ans[][];
int dx[]={,,,-};
int dy[]={,-,,};
int temp2=,temp3=-; struct node //优先队列
{
int x,y;
int fei;
friend bool operator < (node a, node b) //优先步数少的
{
return a.fei > b.fei;
}
}; int bfs(int a,int b)
{
priority_queue<node> q;
node s1,s2;
s1.x=a;
s1.y=b;
s1.fei=;
q.push(s1);//入队
while(!q.empty())
{
s1=q.top();//取出队顶元素
q.pop();删除队顶元素
if(s1.x==ex&&s1.y==ey)
{
return s1.fei;
}
for(int i=;i<;i++) //四个方向搜索
{
s2.x=s1.x+dx[i];
s2.y=s1.y+dy[i];
if(map[s2.x][s2.y]!=-&&s2.x>=&&s2.x<n&&s2.y>=&&s2.y<m)
{
s2.fei=s1.fei+map[s2.x][s2.y];
map[s2.x][s2.y]=-;
q.push(s2);
}
}
}
return -;
} int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&n,&m);
char temp;
for(int i=;i<n;i++) //再次感受到世界是数字的
{
for(int j=;j<m;j++)
{
cin>>temp;
if(temp=='#')
{
map[i][j]=-;
}
if(temp>='A'&&temp<='Z')
{
map[i][j]=temp-'A'+;
}
if(temp=='s')
{
bx=i;
by=j;
map[i][j]=;
}
if(temp=='l')
{
ex=i;
ey=j;
map[i][j]=;
}
}
}
temp3=bfs(bx,by);
printf("%d\n",temp3);
}
}

NYoj WAJUEJI which home strong!(简单搜索)的更多相关文章

  1. nyoj 284 坦克大战 简单搜索

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少 ...

  2. nyoj 1100 WAJUEJI which home strong!

    WAJUEJI which home strong! 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...

  3. WAJUEJI which home strong!nyoj

    WAJUEJI which home strong! 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...

  4. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  5. ElasticSearch 5学习(4)——简单搜索笔记

    空搜索: GET /_search hits: total 总数 hits 前10条数据 hits 数组中的每个结果都包含_index._type和文档的_id字段,被加入到_source字段中这意味 ...

  6. 分布式搜索ElasticSearch构建集群与简单搜索实例应用

    分布式搜索ElasticSearch构建集群与简单搜索实例应用 关于ElasticSearch不介绍了,直接说应用. 分布式ElasticSearch集群构建的方法. 1.通过在程序中创建一个嵌入es ...

  7. 和我一起打造个简单搜索之SpringDataElasticSearch入门

    网上大多通过 java 操作 es 使用的都是 TransportClient,而介绍使用 SpringDataElasticSearch 的文章相对比较少,笔者也是摸索了许久,接下来本文介绍 Spr ...

  8. 和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮

    前面几篇文章详细讲解了 ElasticSearch 的搭建以及使用 SpringDataElasticSearch 来完成搜索查询,但是搜索一般都会有搜索关键字高亮的功能,今天我们把它给加上. 系列文 ...

  9. 和我一起打造个简单搜索之Logstash实时同步建立索引

    用过 Solr 的朋友都知道,Solr 可以直接在配置文件中配置数据库连接从而完成索引的同步创建,但是 ElasticSearch 本身并不具备这样的功能,那如何建立索引呢?方法其实很多,可以使用 J ...

随机推荐

  1. LCA 学习算法 (最近的共同祖先)poj 1330

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20983   Accept ...

  2. Linux 环境下 Lua 安装(转)

    系统环境:CentOS-6.2-x86_64. Lua 是嵌入式脚本语言,应用场景很广泛. 引自官网:Lua is used in many products and projects around ...

  3. 【iOS】文件上传小记

    iOS由该系统提供API可以实现可以实现文件的上传和下载,有两种方法来. NSURLConnection与NSURLSession. 当中NSURLConnection是使用非常久的的一种方式.NSU ...

  4. Spark里边:Worker源代码分析和架构

    首先由Spark图表理解Worker于Spark中的作用和地位: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW56aHNvZnQ=/font/5a6L ...

  5. ubuntu 在下面 hadoop 安装

    这两天已经安装hadoop 这些道路是曲折的,记录它 在redhat安装后一直无法开始datanode,因为jdk 问题,换了一个jdk后问题依然,自己猜測是redhat版本号太低的原因,于是仅仅好舍 ...

  6. Windows Auzre 微软的云计算产品的后台操作界面

    Windows Auzre 微软的云计算产品的后台操作界面,试用期,相比于阿里云后台操作不是人. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTmFvbG ...

  7. PHP redis操作类 个人总结

    <pre name="code" class="php"><span style="font-size:18px;"> ...

  8. TCMalloc 安装与使用

    TCMalloc 安装和使用 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Da ...

  9. 16.怎样自学Struts2之Struts2异常处理[视频]

    16.怎样自学Struts2之Struts2异常处理[视频] 之前写了一篇"打算做一个视频教程探讨怎样自学计算机相关的技术",优酷上传不了,仅仅好传到百度云上: http://pa ...

  10. RecyclerView0基于使用

    (转载请注明出处:http://www.kennethyo.me/post/android/recyclerviewchu-ji-shi-yong) RecyclerView是Android在v7包中 ...