Here We Go(relians) Again HDU2722
处理完输入就是很简单的一题 但是输入好难
勉强找到一种能看懂的。。。
- #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的更多相关文章
- HDU 2722 Here We Go(relians) Again (spfa)
Here We Go(relians) Again Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/ ...
- Here We Go(relians) Again
Here We Go(relians) Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- CSU 1857 Crash and Go(relians)(模拟)
Crash and Go(relians) [题目链接]Crash and Go(relians) [题目类型]模拟 &题解: 这就是要严格的按照题意说的模拟就好了,也就是:每次添加进来一个圆 ...
- 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 ...
- 【HDOJ】2722 Here We Go(relians) Again
根据矩阵建图,然后求最短路径. #include <cstdio> #include <cstring> #include <cstdlib> #define L ...
- HDU 2722 Here We Go(relians) Again
最短路,建图太麻烦,略过…… #include <cstdio> #include <cstring> #include <queue> const int INF ...
- HDU 2722 Here We Go(relians) Again (最短路)
题目链接 Problem Description The Gorelians are a warlike race that travel the universe conquering new wo ...
- HDU--2722
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2722 分析:简单最短路,读入数据烦. #include<iostream> #includ ...
- 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 ...
随机推荐
- 逆向安全基础之IDA使用简介
转载:http://m.blog.csdn.net/ilnature2008/article/details/54912854 IDA简介 IDA是业界一个功能十分强大的反汇编工具,是安全渗透人员进行 ...
- [C++]线性链表之顺序表<二>
/* @content 线性链表之顺序表 @date 2017-3-21 1:06 @author Johnny Zen */ /* 线性表 顺序表 链式表[带头指针/不 ...
- 青云VPC网络配置
1 创建VPC网络 2 申请公网IP 3 回到VPC图形界面绑定公网ip 4 创建私有网络,并绑定私有网络 5 创建3台主机 6 新建防火墙,并绑定到VPC 7 配置VPC端口转发规则 8 添加防火墙 ...
- SLAM学习资料汇总
转自 http://www.cnblogs.com/wenhust/ 书籍: 1.必读经典 Thrun S, Burgard W, Fox D. <Probabilistic robotic ...
- 允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户. 方法一.本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项 ...
- Modelsim SE 破解教程
第一步:打开我们提供的破解工具包. 第二步:拷贝crack.bat和MentorKG.exe到"C:\modeltech64_10.2c\win64"路径下,如果你的电脑为32位, ...
- C++获取当前所有进程的完整路径
实现代码 #include <stdio.h> #include <windows.h> #include <tlhelp32.h> #include <st ...
- 安装python3后使用pip和pip3的区别是什么?
安装python3后使用pip和pip3的区别是什么? 1.其实这两个命令效果是一样的,没有区别: (1)比如安装库numpy,pip3 install numpy或者pip install ...
- FarBox--另类有趣的网站服务【转】
FarBox--另类有趣的网站服务 转自:http://mosir.org/html/y2012/the-interesting-web-service-serve-by-FarBox.html 作者 ...
- MySQL 误操作后数据恢复(update,delete忘加where条件)【转】
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句 写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者 ...