原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=115

 #include"iostream"
#include"stdio.h"
#include"algorithm"
#include"string.h"
using namespace std;
#define INF 99999999
#define MAXN 1005
int map[MAXN][MAXN];//邻接矩阵
int dis[MAXN]; //记录单元最段路径
int visited[MAXN]; //F为访问0,已访问1
int nux[MAXN]; //第I个军队驻扎在 nux【i】个城市
int N;
int M;
int P;
int Q;
void dijkstra(int s){//s到个点距离
memset(visited,,sizeof(visited));
visited[s]=;
for(int i=;i<=M;i++)
dis[i]=map[s][i];
for(int i=;i<=M;i++){
int minn=INF;
int u;
for(int j=;j<=M;j++){
if(visited[j]==&&dis[j]<minn){
minn=dis[j];
u=j;
}
}
visited[u]=;
for(int v=;v<=M;v++){
if(visited[v]==&&map[u][v]<INF&&dis[v]>dis[u]+map[u][v])
dis[v]=dis[u]+map[u][v];
}
}
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d%d",&N,&M,&P,&Q);
for(int i=; i<=M; i++)//初始化邻接矩阵
for(int j=; j<=M; j++)
i==j?map[i][j]=:map[i][j]=INF;
for(int i=; i<=N; i++) //部队驻扎的城市
scanf("%d",&nux[i]);
int a,b,t;//临时接收数据
while(P--)
{
scanf("%d%d%d",&a,&b,&t);
if(map[a][b]>t)
map[a][b]=map[b][a]=t;//无向图
}
int min_time=INF;//最短时间
dijkstra(Q);
for(int i=; i<=N; i++)//寻找最短时间
min_time=min(min_time,dis[nux[i]]);
printf("%d\n",min_time);
}
return ;
}

NYOJ-115 Dijlstra的更多相关文章

  1. nyoj 115 城市平乱 dijkstra最短路

    题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=115 dijkstra算法. #include "stdio.h" ...

  2. nyoj 115 城市平乱

    城市平乱 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...

  3. NYOJ 115 城市平乱 (最短路)

    * 题目链接* 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M. 现在,小工军师告诉南将军,第K号城市发生了暴乱,南 ...

  4. short-path problem (Dijkstra) 分类: ACM TYPE 2014-09-01 23:51 111人阅读 评论(0) 收藏

    #include <cstdio> #include <iostream> #include <cstring> using namespace std; cons ...

  5. NYOJ 1007

    在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...

  6. NYOJ 998

    这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...

  7. Entity Framework 6 Recipes 2nd Edition(11-5)译 -> 从”模型定义”函数返回一个匿名类型

    11-5. 从”模型定义”函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的”模型定义”函数 解决方案 假设已有游客(Visitor) 预订(reservation)房间(hotel ) 的模型 ...

  8. NYOJ 461

    Fibonacci数列(四) 描述  数学神童小明终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部 ...

  9. NYOJ 333

    http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin 欧拉函数 E(x)表示比x小的且与x互质的正整数的个数. ...

  10. NYOJ 99单词拼接(有向图的欧拉(回)路)

    /* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i ...

随机推荐

  1. asp.net mvc 反射应用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. iOS和Android后台机制对比

    转自:http://blog.csdn.net/zsch591488385/article/details/27232881 一.iOS的“伪后台”程序 首先,先了解一下ios 中所谓的「后台进程」到 ...

  3. Jquery定义对象( 闭包)

    转自:http://www.cnblogs.com/springsnow/archive/2010/06/03/1750832.html 例一:添加对象的静态属性 声明一个对象$.problemWo, ...

  4. 如何在JSTL中获取数组或者list对象的索引值(index)

    <c:forEach items="${productList}" var="products" varStatus="status" ...

  5. LeetCode:字母异位词分组【16】

    LeetCode:字母异位词分组[16] 题目描述 给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", &quo ...

  6. php基本语法与函数

    1.标记与注释 <?php 代码 ?> 用/*  */注释一段代码,  用 // 注释一行代码   /**    */文档注释 注意:若php下面只有php代码没有别的代码,那么最好不要加 ...

  7. Sqoop架构以及应用介绍

    本篇文章在具体介绍Sqoop之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Sqoop在业务当中的实际地位.  如上图所示:在实际的业务当中,我们首先对原始数据集通过MapReduce进行 ...

  8. VHDL学习笔记——数字系统设计

    数字系统是指有若干数字电路和逻辑不见构成的能够处理或传输数字信息的设备.数字系统可分为三部分:输入输出接口.数据处理器和控制器. [传统的系统硬件设计]方法是(1)采用自底向上的设计方法(2)采用通用 ...

  9. [原创]java WEB学习笔记08:HttpServletRequest & ServletRequest

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. 【leetcode刷题笔记】3Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...