处理完输入就是很简单的一题  但是输入好难

勉强找到一种能看懂的。。。

#include<iostream>
#include<stdio.h>
#include<string>
#include<cstring>
using namespace std; #define MAX 999999999
#define N 501 int vis[N],map[N][N],dis[N];
int n,m; int Dijkstra(int start,int end)
{
int i,j,min,loc; memset(vis,,sizeof(vis));
for(i=;i<=end;i++)
dis[i]=map[start][i];
dis[start]=; for(i=;i<=end;i++)
{
min=MAX;
for(j=;j<=end;j++)
{
if(!vis[j]&&dis[j]<min)
{
min=dis[j];
loc=j;
}
}
vis[loc]=;
for(j=;j<=end;j++)
{
if(!vis[j]&&dis[loc]+map[loc][j]<dis[j])
dis[j]=dis[loc]+map[loc][j];
}
}
return dis[end];
} int main()
{
int i,j,ver,hor,d,x,y,d1,d2,ans;
char ch; //freopen("test.txt","r",stdin);
while(scanf("%d%d",&n,&m),n+m)
{
for(i=;i<=(n+)*(m+);i++)//共有(n+1)*(m+1)点
for(j=;j<=(n+)*(m+);j++)
map[i][j]=MAX; ver=;hor=; //若图中2*2的 则是3*3,节点是1-9,map[1][4]代表第一行指第二行的6
for(i=;i<=*n+;i++)
{
for(j=;j<=m+!(i&);j++)//偶数多一个输入
{
scanf("%d %c",&d,&ch);
if(d==)// 如果d为0,表示此路不通
ch=; if(i&)//奇数 横向的路
{
x=j+(m+)*(hor-);
y=x+;//横向的始终是[x][x+1]
d1=(ch=='*'||ch=='>')?/d:MAX;
d2=(ch=='*'||ch=='<')?/d:MAX;
}
else
{
x=j+(m+)*(ver-);//纵向的是[x][x+m+1]
y=j+(m+)*ver;
d1=(ch=='*'||ch=='v')?/d:MAX;
d2=(ch=='*'||ch=='^')?/d:MAX;
}
map[x][y]=d1;
map[y][x]=d2; }
if(i&) hor++; //横向加 1
else ver++;
}
ans=Dijkstra(,(n+)*(m+));//最后点数
if(MAX==ans)
printf("Holiday\n");
else
printf ("%d blips\n",ans);
}
return ;
}

Here We Go(relians) Again HDU2722的更多相关文章

  1. HDU 2722 Here We Go(relians) Again (spfa)

    Here We Go(relians) Again Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/ ...

  2. Here We Go(relians) Again

    Here We Go(relians) Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...

  3. CSU 1857 Crash and Go(relians)(模拟)

    Crash and Go(relians) [题目链接]Crash and Go(relians) [题目类型]模拟 &题解: 这就是要严格的按照题意说的模拟就好了,也就是:每次添加进来一个圆 ...

  4. 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 ...

  5. 【HDOJ】2722 Here We Go(relians) Again

    根据矩阵建图,然后求最短路径. #include <cstdio> #include <cstring> #include <cstdlib> #define L ...

  6. HDU 2722 Here We Go(relians) Again

    最短路,建图太麻烦,略过…… #include <cstdio> #include <cstring> #include <queue> const int INF ...

  7. HDU 2722 Here We Go(relians) Again (最短路)

    题目链接 Problem Description The Gorelians are a warlike race that travel the universe conquering new wo ...

  8. HDU--2722

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2722 分析:简单最短路,读入数据烦. #include<iostream> #includ ...

  9. POJ 3653 &amp; ZOJ 2935 &amp; HDU 2722 Here We Go(relians) Again(最短路dijstra)

    题目链接: PKU:http://poj.org/problem? id=3653 ZJU:problemId=1934" target="_blank">http ...

随机推荐

  1. nlogn LIS模板

    nlogn 模板 最长上升 #include<bits/stdc++.h> using namespace std; ; int n,x,y,a[N],num[N],d[N],len; / ...

  2. CF949D Curfew

    传送门 跟这个大佬学的->戳我 假设只有一个宿管,那么从前往后做的过程中,如果能到达某个寝室范围内的人数不够\(b\),那么不如把这个寝室空出来,这样更有利于后面的抉择;反之,就把这个寝室搞正好 ...

  3. HDU 2522 A simple problem (模拟)

    题目链接 Problem Description Zty很痴迷数学问题..一天,yifenfei出了个数学题想难倒他,让他回答1 / n.但Zty却回答不了^_^. 请大家编程帮助他. Input 第 ...

  4. nginx入门三

    负载均衡 upstream upstream app_server { server 127.0.0.1:8000; server 192.168.2.134:80; server 47.xx.xx. ...

  5. 蓝牙HID协议笔记【转】

    蓝牙HID协议笔记 转自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html 1.概述     The Human Interface Devic ...

  6. C++经典面试题(最全,面中率最高)

    C++经典面试题(最全,面中率最高) 1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数.malloc与fre ...

  7. vs2010补丁

    背景 我都不知道这是干啥的了.想起.net真是一把鼻涕一把泪.搞了这么久.net,也被它坑了好多.有这时间搞搞开源东西多好.看见下面还有tfs,想起当时有个java同事竟然用vss管理java代码,后 ...

  8. (并发编程)进程 (multiprocessing--Process实现进程并发)

    ['创建进程2方式种', '进程对象属性:join方法,守护进程obj.daemon=True,obj.pid, obj.name, obj.terminate(),obj.is_alive()等 ' ...

  9. (常用)re模块

    re模块(正则)#re:一些带有特殊含义的符号或者符号的组合#为什么要用re:一堆字符串中找到你所需要的内容,过滤规则是什么样,通过re模块功能来告诉计算机你的过滤规则#应用:在爬虫中最为常用:使用爬 ...

  10. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...