题目链接: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. rac安装grid报INS-41112错误

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  2. 读书时间《JavaScript高级程序设计》七:表单

    在HTML中表单是有<form>元素表示,在JS中表单对应的是HTMLFormElement类型. 表单自有的属性和方法: 获取表单 1. 通过ID  document.getElemen ...

  3. 11gRAC CHM 管理

    Cluster Health Monitor(缩写CHM)是Oracle提供的工具,自己主动的资源来收集操作系统(CPU.内存.SWAP.过程.I/O与网络)用法. CHM数据被收集每秒一次,11.2 ...

  4. 分散式-ubuntu12.04安装spark-1.0.0

    1. 安装文档: http://spark.apache.org/docs/latest/spark-standalone.html 2. web UI: master's web UI, which ...

  5. 我有DIY一Android遥控-所有开源

    我有DIY一Android遥控-所有开源 1.试用 记得宋宝华在「设备驱动开发具体解释」提出一个这种理论「软件和硬件互相渗透对方的领地」,这次证明还是确实是这样,使用上层APP软件加上简单的更为简单的 ...

  6. MVC—WebAPI(调用、授权)

    ASP.NET MVC—WebAPI(调用.授权)   本系列目录:ASP.NET MVC4入门到精通系列目录汇总 微软有了Webservice和WCF,为什么还要有WebAPI? 用过WCF的人应该 ...

  7. 于windows建筑物Cocos2d-x win32开发环境

     这份文件是从cocos2d-x复制的官网.. . 在windows7上搭建COCOS2D-X开发环境并不难. 可是因为框架更新过快,非常多用户都有困难.我希望你们觉得这个教程实用. 建议:为了避 ...

  8. 但从谈论性能点SQL Server选择聚集索引键

    简单介绍 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是依照聚集索引的列作为keyword进行了. 因此对于聚集索引的选择对性能的影响就变 ...

  9. 移动端 Retina屏 各大主流网站1px的解决方案

    Retina屏的移动设备如何实现真正1px的线? 在retina屏下面,如果你写了这样的meta <meta name="viewport" content="in ...

  10. 3-08. 栈模拟队列(25)(ZJU_PAT 模拟)

    主题链接:http://pat.zju.edu.cn/contests/ds/3-08 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操 ...