HDU2066 一个人的旅行 最短路基础
新手熟悉一下迪杰斯特拉。。。
一个人的旅行
Total Submission(s): 40926 Accepted Submission(s): 13919
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
6 2 3
1 3 5
1 4 7
2 8 12
3 8 4
4 9 12
9 10 2
1 2
8 9 10
9
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<memory.h>
#include<queue>
using namespace std;
queue<int>q;
const int Inf=0x3f3f3f3f;;
const int Maxm=3000100;
const int Maxn=1010;
int dis[Maxn],cnt,n,Min,c,dr;
int Laxt[Maxm],Next[Maxm],To[Maxm],Len[Maxm];
int conti[Maxn],dream[Maxn];
int Win[Maxn];
void _add(int u,int v,int d){
Next[++cnt]=Laxt[u];
Laxt[u]=cnt;
To[cnt]=v;
Len[cnt]=d; Next[++cnt]=Laxt[v];
Laxt[v]=cnt;
To[cnt]=u;
Len[cnt]=d;
}
void _dij()
{
while(!q.empty()){
int s=q.front();
q.pop();
Win[s]=0;
for(int i=Laxt[s];i>0;i=Next[i]){
if(dis[s]+Len[i]<dis[To[i]])
{
dis[To[i]]=dis[s]+Len[i];
if(!Win[To[i]]) {
q.push(To[i]);
Win[To[i]]=1;
}
}
}
}
}
int main()
{
int m,i,j,k,x,y,z;
while(~scanf("%d%d%d",&m,&c,&dr))
{
memset(Laxt,0,sizeof(Laxt));
memset(Next,0,sizeof(Next));
memset(Win,0,sizeof(Win));
cnt=1;
for(i=1;i<=m;i++) {
scanf("%d%d%d",&x,&y,&z);
_add(x,y,z);
dis[x]=Inf;
dis[y]=Inf;
}
for(i=1;i<=c;i++) {
scanf("%d",&conti[i]);
dis[conti[i]]=0;
q.push(conti[i]);
Win[conti[i]]=1;
}
for(i=1;i<=dr;i++) {
scanf("%d",&dream[i]);
dis[dream[i]]=Inf;
}
_dij();
Min=Inf;
for(j=1;j<=dr;j++)
if(Min>dis[dream[j]]) {
Min=dis[dream[j]];
}
printf("%d\n",Min);
}
return 0;
}
HDU2066 一个人的旅行 最短路基础的更多相关文章
- hdu2066 一个人的旅行 最短路
单源最短路裸题 #include<stdio.h> #include<string.h> #define min(a,b) (a)<(b)?a:b #define INF ...
- hdu-2066 一个人的旅行(最短路spfa)
题目链接: 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pr ...
- hdu2066一个人的旅行(dijkstra)
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- HDU2066一个人的旅行/最短路问题
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 最小生成树&最短路基础算法总结
[最短路问题] 解决最短路问题有以下算法:Dijkstra算法,Bellman-Ford算法,Floyd算法,和SPFA算法和启发式搜索算法A*; 每个算法都有它的特点可以解决某些特定的问题,例如:F ...
- POJ 1125 Stockbroker Grapevine(最短路基础题)
Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spre ...
- hdu2066一个人的旅行(floyd优化)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU2066一个人的旅行---(多起点多终点最短路径)
http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memo ...
- hdu2066一个人的旅行(disjkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
随机推荐
- Python闭包及其作用域
Python闭包及其作用域 关于Python作用域的知识在python作用域有相应的笔记,这个笔记是关于Python闭包及其作用域的详细的笔记 如果在一个内部函数里,对一个外部作用域(但不是全局作用域 ...
- 8.中断按键驱动程序之poll机制
本节继续在上一节中断按键程序里改进,添加poll机制. 那么我们为什么还需要poll机制呢.之前的测试程序是这样: ) { read(fd, &key_val, ); printf(" ...
- quartz源码分析——执行引擎和线程模型
title: quartz源码分析--执行引擎和线程模型 date: 2017-09-09 23:14:48 categories: quartz tags: [quartz, 源码分析] --- - ...
- Error:Failed to load project configuration:xxxxxxxxxxxxxxxxxxxx cannot read file .idea/misc.xml
你这idea不会没有配置默认jdk吧?你看看File--other settings--default project structure,看看project setting的project里面,有没 ...
- 团队作业9——测试与发布(Beta版本)(含展示博客)
团队作业9--测试与发布(Beta版) http://www.cnblogs.com/newteam6/p/6938504.html 团队作业9--展示博客 http://www.cnblogs.co ...
- 201521123024 《Java程序设计》第5周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能编 ...
- 201521123108 《Java程序设计》第5周学习总结
1. 本章学习总结 2. 书面作业 Q1. 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 答 ...
- 201521123068《Java程序设计》第3周学习总结
1. 本周学习总结 点击查看大图->(http://naotu.baidu.com/file/7921c1cda46d65d08f2ef0d7a6af6651?token=3a35cbe7720 ...
- 201521123072《java程序设计》第三周学习总结
201521123072<java程序设计>第三周学习总结 标签: java学习 1. 本周学习总结 2. 书面作业 1,代码阅读 public class Test1 { private ...
- JAVA课程设计个人博客 学生基本信息管理 201521123117 李心宇
1. 团队课程设计博客链接 http://www.cnblogs.com/ll321/p/7067598.html 2.个人负责模块或任务说明 ①主要有三个界面的设计,包括:登录界面,功能选择界面还有 ...