HDU--2722
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2722
分析:简单最短路,读入数据烦。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#define maxn 450
#define inf 0xfffffff
using namespace std;
int blip[maxn];
int n,m;
bool vis[maxn];
struct edge
{
int to,w;
edge(int x,int y)
{
to=x;w=y;
}
};
vector<edge>e[maxn];
queue<int>q;
void spfa(const int s)
{
while(!q.empty())q.pop();
for(int i=;i<(n+)*(m+);i++)
{
vis[i]=false;
blip[i]=inf;
}
vis[s]=true;blip[s]=;
q.push(s);
while(!q.empty())
{
int u=q.front();q.pop();
for(int i=;i<e[u].size();i++)
{
if(blip[e[u][i].to]>blip[u]+e[u][i].w)
{
blip[e[u][i].to]=blip[u]+e[u][i].w;
if(!vis[e[u][i].to])
{
vis[e[u][i].to]=true;
q.push(e[u][i].to);
}
}
}
vis[u]=false;
}
}
int main()
{
while(~scanf("%d%d",&n,&m))
{
if(n==||m==)break;
for(int i=;i<maxn;i++)e[i].clear();
for(int i=;i<=*n;i++)
{
int pp=m;if(i&)pp++;
for(int j=;j<pp;j++)
{
int v;char c;int tmp;
scanf("%d %c",&v,&c);
if(v!=)
{
if(c=='*'&&i%==)
{
tmp=i/*(m+)+j;
e[tmp].push_back(edge(tmp+,/v));
e[tmp+].push_back(edge(tmp,/v));
}
else if(c=='*'&&(i&))
{
tmp=i/*(m+)+j;
e[tmp].push_back(edge(tmp+m+,/v));
e[tmp+m+].push_back(edge(tmp,/v));
}
else if(c=='>')e[i/*(m+)+j].push_back(edge(i/*(m+)+j+,/v));
else if(c=='<')e[i/*(m+)+j+].push_back(edge(i/*(m+)+j,/v));
else if(c=='v')e[i/*(m+)+j].push_back(edge(i/*(m+)+j+m+,/v));
else if(c=='^')e[i/*(m+)+j+m+].push_back(edge(i/*(m+)+j,/v));
}
}
}
spfa();
if(blip[(n+)*(m+)-]==inf)cout<<"Holiday\n";
else printf("%d blips\n",blip[(n+)*(m+)-]);
}
return ;
}
HDU--2722的更多相关文章
- POJ 3653 & ZOJ 2935 & HDU 2722 Here We Go(relians) Again(最短路dijstra)
题目链接: PKU:http://poj.org/problem? id=3653 ZJU:problemId=1934" target="_blank">http ...
- HDU 2722 Here We Go(relians) Again
最短路,建图太麻烦,略过…… #include <cstdio> #include <cstring> #include <queue> const int INF ...
- HDU 2722 Here We Go(relians) Again (spfa)
Here We Go(relians) Again Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/ ...
- HDU 2722 Here We Go(relians) Again (最短路)
题目链接 Problem Description The Gorelians are a warlike race that travel the universe conquering new wo ...
- hdu 2722 Here We Go(relians) Again (最短路径)
Here We Go(relians) Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- HDU题解索引
HDU 1000 A + B Problem I/O HDU 1001 Sum Problem 数学 HDU 1002 A + B Problem II 高精度加法 HDU 1003 Maxsu ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- HDU 2112 HDU Today(Dijkstra)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- hdu 1596 find the safest road (最短路径)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
随机推荐
- VSCode打开已有vuejs项目
转载自 https://blog.csdn.net/yoryky/article/details/78290443 下载安装并配置VSCode 随便百度上搜个最新的VSCode安装好后,点击Ctrl ...
- 3.Airflow使用
1. airflow简介2. 相关概念2.1 服务进程2.1.1. web server2.1.2. scheduler2.1.3. worker2.1.4. celery flower2.2 相关概 ...
- ES6的新特性(12)——Set 和 Map 数据结构
Set 和 Map 数据结构 Set 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. co ...
- “Hello World!”团队第七周召开的第一次会议
今天是我们团队“Hello World!”团队第七周召开的第一次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.Todo List 六.会议照片 七.燃尽图 一.会议时间 ...
- 通俗理解Hilbert希尔伯特空间
作者:qang pan 链接:https://www.zhihu.com/question/19967778/answer/28403912 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...
- Docker 技术 介绍
https://github.com/docker/docker 实现用户空间隔离的技术:名称空间(NameSpace),CGroup(控制组) 什么是NameSpace::简单的理解就是,每一个虚拟 ...
- 1029 C语言文法定义
program à external_declaration | program external_declaration <源程序> -> <外部声明> | < ...
- 在64位系统上部署BDE的要点
首先,据我所知,Borland/CodeGear没有发布过支持64bit windows的BDE安装包,如果你在网上看到了相关的BDE安装包,很有可能是使用者自己重新打包发布的. 无论是在32bit ...
- angular 数据内容有重复时不显示问题
<body ng-app="app"> <div ng-controller="myctl"> <ul> <li ng ...
- 【Python】python 反射机制在实际的应用场景讲解
剖析python语言中 "反射" 机制的本质和实际应用场景一. 前言 def s1(): print("s1是这个函数的名字!") s = "s1&q ...