nyoj-115-城市平乱(dijkstra算法)
/*
Name:nyoj-115-城市平乱
Copyright:
Author:
Date: 2018/4/25 17:28:06
Description:
dijkstra模板题
枚举从部队所在的城市到叛乱城市取最小值
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int MAXN = , INF= 0x3f3f3f3f;
int dis[MAXN], g[MAXN][MAXN], N, M, P, Q, army[MAXN], src;
bool v[MAXN]; void dijkstra() {
int N = M;
for (int i=; i<=N; i++) dis[i] = INF;
dis[src] = ;
memset(v, , sizeof(v));
for (int i=; i<=N; ++i) {
int mark =-, mindis=INF;
for (int j=; j<=N; j++) {
if(!v[j] && dis[j]<mindis) {
mindis = dis[j];
mark = j;
}
}
v[mark] = ;
for (int j=; j<=N; j++) {
if (!v[j]) {
dis[j] = min(dis[j], dis[mark] + g[mark][j]);
}
}
}
}
int main()
{
int t;
cin>>t;
while (t--) {
memset(g, 0x3f, sizeof(g));
memset(army, , sizeof(army));
cin>>N>>M>>P>>Q;
for (int i=; i<N; i++) {
cin>>army[i];
}
for (int i=; i<P; i++) {
int x, y, cost;
cin>>x>>y>>cost;
if (g[x][y] < cost) continue;
g[x][y] = cost;
g[y][x] = cost;
}
int mindis = 0x3f3f3f3f;
for (int i=; i<N; i++) {
memset(dis, , sizeof(dis));
src = army[i];
dijkstra();
mindis = min(mindis, dis[Q]);
}
cout<<mindis<<endl;
}
return ;
}
nyoj-115-城市平乱(dijkstra算法)的更多相关文章
- nyoj 115 城市平乱 dijkstra最短路
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=115 dijkstra算法. #include "stdio.h" ...
- nyoj 115 城市平乱
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...
- NYOJ 115 城市平乱 (最短路)
* 题目链接* 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M. 现在,小工军师告诉南将军,第K号城市发生了暴乱,南 ...
- 南洋理工 OJ 115 城市平乱 dijstra算法
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...
- nyist oj 115 城市平乱 (最短路径)
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 南将军统领着N个部队.这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安.这M个城市 ...
- 城市平乱 ---- Dijkstra
题解 : 以暴乱城市 为 源点 向所有点做最短路径 , 然后检查每个不对到暴乱城市的 最短距离 #include<stdio.h> #include<string.h> #in ...
- nyoj 115------城市平乱( dijkstra // bellman )
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...
- Nyoj 城市平乱(图论)
描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M. 现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都 ...
- 城市平乱(Bellman)
城市平乱 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...
- nyoj 115-城市平乱 (BFS)
115-城市平乱 内存限制:64MB 时间限制:1000ms 特判: No 通过数:5 提交数:8 难度:4 题目描述: 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维 ...
随机推荐
- ABAP f4帮助输入多个值
*---------------------------------------------------------------------- * INITIALIZATION *---------- ...
- Python基础-configparser和hashlib模块
configparser模块 import configparser config = configparser.ConfigParser() #将配置写入到文件 config[', 'Compres ...
- Nginx日志格式以及相关配置
一.Nginx日志格式以及参数说明log_format main '$remote_addr - $remote_user [$time_local] "$request" ' ...
- 安卓手机开机键失灵,FASTBOOT模式ADB重启
安装ADB工具 CMD指令fastboot reboot
- jmeter 监控插件JMeterPlugins&PerfMon安装
下载地址:http://jmeter-plugins.org/downloads/all/ PerfMon: 用来监控Server的CPU.I/O.Memory等情况 ServerAgent-2.2. ...
- nodejs socket server 强制关闭客户端连接
nodejs socket server 强制关闭客户端连接: client.destroy()
- python glob
http://python.jobbole.com/81552/ glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用 ...
- 验证——正则<37>
1,郵箱合法性驗證 /* * 郵箱合法性驗證 * @method matchTel * @papram{string} str,電子郵箱 * @return{boolean} * */ functio ...
- Android 上Camera分析
http://blog.csdn.net/u010503912/article/details/52315721 Android Camera 系统架构源码分析(1)---->Camera的初始 ...
- CentOS 5下freeswitch中集成使用ekho实现TTS功能二
三:以上Festival安装完成以后回到ekho安装目录: 执行./configure --enable-festival 前 更改configure 1:替换 #AC_DEFINE(ENABLE_F ...