题目: 传送门

题意很简单就不解释了,水题一道。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
typedef __int64 ll;
#define inf 0x3f3f3f3f
#include <math.h>
#include <queue>
using namespace std;
struct node
{
int x,y,ans;
bool operator<(const node &a)const //从小到大排序
{
return ans>a.ans;
}
};
node st,ff;
int n,m,P,S,T,s,e,s2,e2,v[][];
char a[][];
int fx[]= {,-,,};
int fy[]= {,,,-};
int main()
{
int sum,K=;
while(scanf("%d%d",&n,&m)!=EOF)
{
priority_queue<node>q;
while(!q.empty()) q.pop();
sum=-;
scanf("%d%d%d",&P,&S,&T);
for(int i=; i<n; i++)
scanf("%s",a[i]);
scanf("%d%d%d%d",&s,&e,&s2,&e2);
memset(v,,sizeof(v));
st.x=s,st.y=e,st.ans=;
v[s][e]=;
q.push(st);
while(!q.empty())
{
ff=q.top();
q.pop();
if(ff.x==s2&&ff.y==e2)
{
sum=ff.ans;
break;
}
for(int i=; i<; i++)
{
st.x=ff.x+fx[i];
st.y=ff.y+fy[i];
if(v[st.x][st.y]==&&a[st.x][st.y]!='@')
{
if(a[st.x][st.y]=='T')
{
st.ans=ff.ans+T;
v[st.x][st.y]=;
q.push(st);
}
else if(a[st.x][st.y]=='.')
{
st.ans=ff.ans+S;
v[st.x][st.y]=;
q.push(st);
}
else if(a[st.x][st.y]=='#')
{
st.ans=ff.ans+P;
v[st.x][st.y]=;
q.push(st);
}
}
}
}
printf("Case %d: %d\n",++K,sum); }
return ;
}

HDU2425:Hiking Trip(简单bfs,优先队列实现)的更多相关文章

  1. hdu 2425 Hiking Trip (bfs+优先队列)

    Problem Description Hiking in the mountains is seldom an easy task for most people, as it is extreme ...

  2. hdu 2425 Hiking Trip

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2425 Hiking Trip Description Hiking in the mountains ...

  3. hdu1839(二分+优先队列,bfs+优先队列与spfa的区别)

    题意:有n个点,标号为点1到点n,每条路有两个属性,一个是经过经过这条路要的时间,一个是这条可以承受的容量.现在给出n个点,m条边,时间t:需要求在时间t的范围内,从点1到点n可以承受的最大容量... ...

  4. BFS+优先队列+状态压缩DP+TSP

    http://acm.hdu.edu.cn/showproblem.php?pid=4568 Hunter Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  5. HDU 1242 -Rescue (双向BFS)&amp;&amp;( BFS+优先队列)

    题目链接:Rescue 进度落下的太多了,哎╮(╯▽╰)╭,渣渣我总是埋怨进度比别人慢...为什么不试着改变一下捏.... 開始以为是水题,想敲一下练手的,后来发现并非一个简单的搜索题,BFS做肯定出 ...

  6. LightOJ 1012 简单bfs,水

    1.LightOJ 1012  Guilty Prince  简单bfs 2.总结:水 题意:迷宫,求有多少位置可去 #include<iostream> #include<cstr ...

  7. POJ3185(简单BFS,主要做测试使用)

    没事做水了一道POJ的简单BFS的题目 这道题的数据范围是20,所以状态总数就是(1<<20) 第一次提交使用STL的queue,并且是在队首判断是否达到终点,达到终点就退出,超时:(其实 ...

  8. POJ 1724 ROADS(BFS+优先队列)

    题目链接 题意 : 求从1城市到n城市的最短路.但是每条路有两个属性,一个是路长,一个是花费.要求在花费为K内,找到最短路. 思路 :这个题好像有很多种做法,我用了BFS+优先队列.崔老师真是千年不变 ...

  9. 【POJ 3669 Meteor Shower】简单BFS

    流星雨撞击地球(平面直角坐标第一象限),问到达安全地带的最少时间. 对于每颗流星雨i,在ti时刻撞击(xi,yi)点,同时导致(xi,yi)和上下左右相邻的点在ti以后的时刻(包括t)不能再经过(被封 ...

随机推荐

  1. PHP多进程编程(一)

    虽然PHP 中,多进程用的比较的少.但是毕竟可能是会用到了.我最近就遇到这样一个问题,用户提交几百个url以后,要读出这个url 中的标题. 当然,你不希望用户等待的太久,10s 钟应该给出个答案.但 ...

  2. windows下端口占用解决方法-查看和杀死占用端口进程

    在Windows下启动程序时有时会遇到端口被占用的情况,由于一个端口同时只能运行一个进程,所以要想启动新的程序就要先把占用该端口的进程给kill掉,具体的命令分为以下三步, 以杀死占用了80端口的进程 ...

  3. 如何远程备份sql server数据库

      方法一(不使用SQLDMO): /// ///备份方法 /// SqlConnection conn = new SqlConnection("Server=.;Database=mas ...

  4. latex之图表位置控制

    \begin{table}[!htbp] !-忽略“美学”标准 h-here t-top b-bottom p-page-of-its-own

  5. nginx php文件上传的大小配置问题

  6. Windows远程访问OEM乱码解决

    问题描述 发现用Windows访问Linux安装的Oracle时oem按钮总是乱码,整理解决方法如下: OEM简介及按钮乱码问题  http://www.linuxidc.com/Linux/2013 ...

  7. 目标检测YOLO算法-学习笔记

    算法发展及对比: 17年底,mask-R CNN YOLO YOLO最大的优势就是快 原论文中流程,可以检测出20类物体. 红色网格-张量,在这样一个1×30的张量中保存的数据 横纵坐标中心点缩放到0 ...

  8. Spring配置文件总结

    http://blog.csdn.net/zhejingyuan/article/details/41042789

  9. PowerShell如何使用自定义公共函数

    http://blog.csdn.net/flyliuweisky547/article/details/18565705

  10. kafka对比RocketMQ(转)

    淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kaf ...