NYoj WAJUEJI which home strong!(简单搜索)
题目链接: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!(简单搜索)的更多相关文章
- nyoj 284 坦克大战 简单搜索
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少 ...
- nyoj 1100 WAJUEJI which home strong!
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...
- WAJUEJI which home strong!nyoj
WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学.但由于家里拮据,所以这并不是 ...
- solr简单搜索案例
solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...
- ElasticSearch 5学习(4)——简单搜索笔记
空搜索: GET /_search hits: total 总数 hits 前10条数据 hits 数组中的每个结果都包含_index._type和文档的_id字段,被加入到_source字段中这意味 ...
- 分布式搜索ElasticSearch构建集群与简单搜索实例应用
分布式搜索ElasticSearch构建集群与简单搜索实例应用 关于ElasticSearch不介绍了,直接说应用. 分布式ElasticSearch集群构建的方法. 1.通过在程序中创建一个嵌入es ...
- 和我一起打造个简单搜索之SpringDataElasticSearch入门
网上大多通过 java 操作 es 使用的都是 TransportClient,而介绍使用 SpringDataElasticSearch 的文章相对比较少,笔者也是摸索了许久,接下来本文介绍 Spr ...
- 和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮
前面几篇文章详细讲解了 ElasticSearch 的搭建以及使用 SpringDataElasticSearch 来完成搜索查询,但是搜索一般都会有搜索关键字高亮的功能,今天我们把它给加上. 系列文 ...
- 和我一起打造个简单搜索之Logstash实时同步建立索引
用过 Solr 的朋友都知道,Solr 可以直接在配置文件中配置数据库连接从而完成索引的同步创建,但是 ElasticSearch 本身并不具备这样的功能,那如何建立索引呢?方法其实很多,可以使用 J ...
随机推荐
- 揭秘传智播客毕业班的超级薪水7k内幕系列II----Offer工资表5.7k,为什么不能让老师就业就业
在上海传智播客宋学生Java六期学员.在班级尚未毕业阶段,私自投递简历,而且逃课去面试,获得某国企的Offer.入职薪资5.7K,,兼有五险一金.饭补等齐全福利,因就业老师要求班级同学未毕业不要急于就 ...
- Windows 8实例教程系列 - 理解应用框架
原文:Windows 8实例教程系列 - 理解应用框架 Windows 操作系统之所以风靡世界,是因为其“易学易用”,从用户的角度出发,让数以万计的非IT人员使用计算机实现娱乐,工作等目的.Windo ...
- AspUpload组件的安装及使用方法介绍
http://soft.huweishen.com/soft/47.html AspUpload对ASP编程人员来说要实现ASP网站文件上传功能它是首选.本文就为大家介绍一下AspUpload组件的安 ...
- MSSQL基础
前言 最近看到一些关于sql的汇总博客,觉得还是很不错的.于是心血来潮,也想写一篇自己对这方面的一些认识(主要是点出一下自己比较少用demo写的,一般都是直接改设计时的,例如建表.该字段名). 一.数 ...
- Servlet(五岁以下儿童)web.xml一些常用的配置
(1)lode-on-startup,这Servlet该项目启动时它将被称为(从主要的电话init办法,为了安全起见,一般不应为Servlet建立URL制图).一些数据通常被用作前处理,或使用多线程建 ...
- API访问客户端
API访问客户端(WebApiClient适用于MVC/WebForms/WinForm) 这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前 ...
- fastclick 源码阅读备份
;(function () { 'use strict'; //构造函数 function FastClick(layer, options) { var oldOnClick; options = ...
- Cocos2d-x 手机游戏《疯狂的蝌蚪》资源 “开源” win32+安德鲁斯+iOS三合一
郝萌主倾心贡献,尊重作者的劳动成果,转载请注明出处 From郝萌主. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载 ...
- 将node-expat扩展编译至node.exe中
1.下载node源代码 https://github.com/joyent/node (v:0.10.25) 2.下载node-expat源代码 https://github.com/node-xmp ...
- 对于C11中的正則表達式的使用
Regular Expression Special Characters "."---Any single character(a "wildcard") & ...