题目: 传送门

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

#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. 数论 + 容斥 - HDU 1695 GCD

    problem's Link mean 给定五个数a,b,c,d,k,从1~a中选一个数x,1~b中选一个数y,使得gcd(x,y)=k. 求满足条件的pair(x,y)数. analyse 由于b, ...

  2. C#_GDI+编程教程

    第7章  C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1  GDI+绘图基础 编写图形程序时需要使用GDI( ...

  3. Javascript 你不知道的事

    NaN表示一个不能产生正常结果的运算结果.它不等于任何值,包括它自己.可以用isNaN(number)来检测. 同Java中的字符串一样,JS中的字符串是不可变的.也就是说一旦字符串被创建,就无法改变 ...

  4. 关于Unity的游戏的运行模式

    游戏有个入口main函数,执行完main函数就返回 main函数中的步骤 1.初始化 2.while(true){ a.检查有没有消息,包括鼠标有没有被点击,键盘有没有被点击,自定义事件等等,有消息就 ...

  5. Unity5 AssetBundle打包加载及服务器加载

    Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild                         ...

  6. Effective C++ 条款26

    尽可能延后变量定义式的出现时间 我们知道定义一个对象的时候有一个不争的事实,那就是分配内存.假设是我们自己定义的对象.程序运行过程中会调用类的构造函数和析构函数. 我们打个例如,假设天下雨了,你带把雨 ...

  7. sublime window 配置记录 (转)

    大家好,今天给大家分享一款编辑器:sublime text2    我用过很多编辑器,EditPlus.EmEditor.Notepad++.Notepad2.UltraEdit.Editra.Vim ...

  8. Excel宏被禁用解决办法

  9. [2011WorldFinal]Chips Challenge[流量平衡]

    Chips Challenge Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  10. css 更改input radio checkbox的样式

    html <label> <input type="checkbox" class="colored-blue"> <span c ...