最短路,建图太麻烦,略过……

#include <cstdio>
#include <cstring>
#include <queue>
const int INF=9999999;
using namespace std;
struct node{
int v,i;
node(int a,int b){v=a,i=b;}
bool operator <(const node& a)const{return v>a.v;}
};
int n,m,map[500][500];
int done[500],d[500];
int dij(){
priority_queue q;
memset(done,0,sizeof done);
for(int i=1;i<=(n+1)*(m+1);i++)d[i]=INF;
d[1]=0;
q.push(node(d[1],1));
while(!q.empty()){
node nd=q.top();q.pop();
int u=nd.i;
if(done[u])continue;
done[u]=1;
for(int i=1;i<=(n+1)*(m+1);i++){
if(d[i]>d[u]+map[u][i]){
d[i]=d[u]+map[u][i];
q.push(node(d[i],i));
}
}
}
if(d[(n+1)*(m+1)]==INF)return -1;
else return d[(n+1)*(m+1)];
}
int main(){
char s[3];int v;
while(scanf("%d%d",&n,&m),n||m){
for(int i=1;i<=(n+1)*(m+1);i++)for(int j=1;j<=(n+1)*(m+1);j++)map[i][j]=INF;
int n1,n2;
for(int i=1;i<=2*n+1;i++){
if(i%2==1){
for(int j=1;j<=m;j++){
n1=(i/2)*(m+1)+j,n2=n1+1;
scanf("%d%s",&v,s);
if(v==0)continue;
if(s[0]=='*')map[n1][n2]=map[n2][n1]=2520/v;
else if(s[0]=='<')map[n2][n1]=2520/v;
else if(s[0]=='>')map[n1][n2]=2520/v;
}
}else{
for(int j=1;j<=m+1;j++){
n1=(i/2-1)*(m+1)+j,n2=n1+m+1;
scanf("%d%s",&v,s);
if(v==0)continue;
if(s[0]=='*')map[n1][n2]=map[n2][n1]=2520/v;
else if(s[0]=='v')map[n1][n2]=2520/v;
else if(s[0]=='^')map[n2][n1]=2520/v;
}
}
}
int r=dij();
if(r==-1)printf("Holiday\n");
else printf("%d blips\n",r);
}
return 0;
}

最新文章

  1. 兼容ie7、8、9、10、FF、Chrome的遮罩显示
  2. PowerDesigner16.5 连64位MySQL,出错:SQLSTATE = IM014。原因及解决方案
  3. unity MenuAnim.MoveTo
  4. Apache,PHP,MySQL,PMA手动配置的注意事项
  5. python3-cookbook
  6. Thread .join 的用法一例
  7. Session中超时时长设置
  8. tf–idf算法解释及其python代码实现(上)
  9. inner join、left join、right join中where和and的作用
  10. Chosen通用初始化
  11. [刷题]算法竞赛入门经典(第2版) 4-2/UVa201 - Squares
  12. R学习笔记 第四篇:函数,分支和循环
  13. CSDN没有审核投诉的真实性直接删除博主上传的资源
  14. 常见问题--post发送参数使用httpservletrequest读取为空
  15. 【LeetCode每天一题】Remove Element(移除指定的元素)
  16. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization【转】
  17. 错误地使用catch
  18. 开源工具-Json 解析器 Jackson 的使用
  19. 「小程序JAVA实战」小程序的举报功能开发(68)
  20. Windows 2012 系统汉化

热门文章

  1. WinSock网络编程基础(3)server
  2. leetcode find median sorted arrays python
  3. JQuery初识
  4. hdu 3529 Bomberman - Just Search! 重复覆盖
  5. 有一个警告:Could not open/create prefs root node
  6. HDU 3362 Fix
  7. Duanxx 的 STM32 学习: 中断向量表操作
  8. C++ signal的使用
  9. Nhibernate初入门基本配置(二)
  10. js中if的简写方法