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 ...
随机推荐
- 一个简单的rest_framework demo
models.py from django.db import models class UserInfo(models.Model): username = models.CharField(max ...
- 扩展Lucas定理 扩展Lucas板子
题意概述:多组询问,给出N,K,M,要求回答C(N,K)%M,1<=N<=10^18,1<=K<=N,2<=M<=10^6 分析: 模数不为质数只能用扩展Lucas ...
- Scrum立会报告+燃尽图(十月十九日总第十次):
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...
- 软工实践-Alpha 冲刺 (8/10)
队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面. 完成非功能的主界面制作 ...
- UVALive 6912 Prime Switch 暴力枚举+贪心
题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...
- lintcode-491-回文数
491-回文数 判断一个正整数是不是回文数. 回文数的定义是,将这个数反转之后,得到的数仍然是同一个数. 注意事项 给的数一定保证是32位正整数,但是反转之后的数就未必了. 样例 11, 121, 1 ...
- 正规文法转化DFA
#include<string.h>#include<stdio.h>#include<stdlib.h>int main(){ char p[30][30] ...
- (十一)Jmeter另一种调试工具 HTTP Mirror Server
之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...
- noip模拟题《迷》enc
[问题背景]zhx 和他的妹子聊天.[问题描述] 考虑一种简单的加密算法. 假定所有句子都由小写英文字母构成, 对于每一个字母, 我们将它唯一地映射到另一个字母.例如考虑映射规则:a- ...
- Appium自动化测试框架
1.在utils包中创建一个AppiumUtil类,这个类是对appium api进行封装的. 代码如下: package utils; import java.net.MalformedURLExc ...