NSOJ 一个人的旅行(图论)
Input
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
Output
Sample Input
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
Sample Output
9
多个起点,多个终点,找到最短的起点,终点....枚举遍历即可.....
自己手残,找了好久的bug 变量写串了....orz
AC代码:
1 #include <vector> 2 #include <map> 3 #include <set> 4 #include <algorithm> 5 #include <iostream> 6 #include <cstdio> 7 #include <cmath> 8 #include <cstdlib> 9 #include <string> 10 #include <cstring> 11 #include <queue> 12 using namespace std; 13 #define INF 0x3f3f3f3f 14 #define MAX 1010 15 16 int s,d; 17 int dis[MAX],vis[MAX]; 18 int mp[MAX][MAX],x[MAX],y[MAX]; 19 20 void dijkstra(int s) 21 { 22 int p; 23 memset(vis,0,sizeof(vis)); 24 memset(dis,INF,sizeof(dis)); 25 for(int i=1; i<=MAX; i++) 26 dis[i]=mp[s][i]; 27 dis[s]=0; 28 vis[s]=1; 29 for(int i=1; i<MAX; i++){ 30 int min=INF; 31 for(int j=1; j<MAX; j++){ 32 if(!vis[j] && min>dis[j]){ 33 min=dis[j]; 34 p=j; 35 } 36 } 37 if(min==INF) 38 break; 39 vis[p]=1; 40 for(int j=1; j<MAX; j++){ 41 if(!vis[j] && dis[j]>min+mp[p][j]) 42 dis[j]=min+mp[p][j]; 43 } 44 } 45 } 46 47 int main() 48 { 49 int t,a,b,c; 50 while(~scanf("%d%d%d",&t,&s,&d)){ 51 memset(mp,INF,sizeof(mp)); 52 for(int i=0; i<t; i++){ 53 scanf("%d%d%d",&a,&b,&c); 54 if(mp[a][b]>c) 55 mp[a][b]=mp[b][a]=c; 56 } 57 for(int i=0; i<s; i++) 58 scanf("%d",&x[i]); 59 for(int i=0; i<d; i++) 60 scanf("%d",&y[i]); 61 int ans=INF; 62 for(int i=0; i<s; i++){ 63 dijkstra(x[i]); 64 for(int j=0; j<d; j++){ 65 if(ans>dis[y[j]]) 66 ans=dis[y[j]]; 67 } 68 } 69 printf("%d\n",ans); 70 } 71 }
转载于:https://www.cnblogs.com/wangmengmeng/p/5308017.html
NSOJ 一个人的旅行(图论)相关推荐
- 一个人的旅行 图论最短路问题
虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,0),很多事,还能丰富自己的阅历,还可以看美丽的风景--草儿想去 ...
- 离散数学图论旅行规划问题_《图论及其应用》(一)
点击返回目录 一. 定义 1.1 图的基本概念 图或有序对或序偶(P1).有限图/平凡图/非平凡图/空图(P1).顶点数或阶数/边数/重数/重边/环(P1).简单图/复合图(P1).相邻(P2).相关 ...
- 【并查集】【图论】旅行(ssl 1312)
旅行 ssl 1312 题目大意: 有一个图,要从一个点到另一个点,问路上的最大值和最小值的比最小是多少 原题: 题目描述 Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有 ...
- 【最短路】【图论】【Floyed】牛的旅行(ssl 1119/luogu 1522)
牛的旅行 ssl 1119 luogu 1522 题目大意 有两堆点,每一堆点之中的任何两个点都一定有相连的路线,连接两堆点中的各一个点,使最远的两个点的距离最短 原题 农民John的农场里有很多牧区 ...
- 离散数学图论旅行规划问题_2020年MathorCup高校数学建模挑战赛——C 题 仓内拣货优化问题...
下面的链接是精华版思路,亮点是对第六问的探讨. 高度概括一下:第一问曼哈顿,第二问用免疫,三问增加任务单,四问增加拣货员,五问改变复核台,六问亮点来探讨~ 有点皮 MathorCup C题 仓内拣货优 ...
- HDU 2066-一个人的旅行(图论)
HDU 2066-一个人的旅行 题目原址 [http://acm.hdu.edu.cn/showproblem.php?pid=2066] 题意 给定一些起点,一些终点,和一些边的权,构成一个无向图, ...
- 【图论】C_hdu 2066 一个人的旅行(多源最短路)
一.题目描述 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗. 但是草儿仍然很喜欢旅行,因为在旅途中会遇见很多人(白马王子,0),很多事,还能丰富自己的阅历,还可以看美丽的风景- ...
- 洛谷P1027 Car的旅行路线 计算几何 图论最短路
题意 求某城到某城的最小花费 一个城中有四个机场,一个城中的机场相互可达,用公路到达,但是不同城的公路的单位路程的 费不同,两个不同城的机场(我不知道相同城可不可以)可以通过机场到达,且飞机单位路程价 ...
- ssl1312ZP2502-[HAOI2006]旅行【图论,并查集】
正题 题目链接: https://www.luogu.org/problemnew/show/P2502 大意 有n个旅游景点,m条路,每条路有个限速,要求求一个点到另一个点的最大速度和最小速度的比最 ...
- 离散数学图论旅行规划问题_旅游路径规划问题.pdf
参赛密码 (由组委会填写) 第十二届 "中关村青联杯"全 国研 究生 第十二届 "中关村青联杯"全 国研 究生 数学建模竞赛 数学建模竞赛 题 目 旅游路径规划 ...
最新文章
- Selenium2(WebDriver)总结(二)---Firefox的firebug插件参数设置(补充)
- 生成对抗网络是什么?
- 十大开源的.NET用户界面框架 让GUI设计不再犯难
- showimg.php,layer弹出图片
- 每日一皮:所以重点到底是啥...
- Linux内核如何装载和启动一个可执行程序
- 【Web安全】先进技术WebSocket下安全测试
- .net core EPPlus npoi_微软官方上线免费C#、.NET在线教程视频
- html性别选项卡,html选项卡
- python之_init_函数的简介
- [USACO09FEB]Revamping Trails G
- android com.squareup,android – 无法导入com.squareup.okhttp.OkHttpClient;
- 华东交通大学ACM-ICPC训练基地简介
- 编程高手必学的内存知识02:深入理解栈
- 【STM32 .Net MF开发板学习-28】中文显示(WPF方式)
- IIS服务的命令行方式重启命令
- golang使用gorm出现reflect.Value.Addr of unaddressable value [recovered]
- PCB设计指南:安规、布局布线、EMC、热设计、工艺
- 使用Htmlunit工具获取表单中的input
- 基于Linux的考勤机设计方案V1.1(终端软件部分)
热门文章
- java 设置系统参数_Java 设置系统参数和运行参数
- 应用程序热补丁(二):自动生成热补丁
- Python的逻辑操作
- cgroup学习(七)——cpu子系统
- B - I Hate It(单点更新)(区间求最大值)
- 如何将response里header的date转化为当地时间_将产品20元利润提升到2000元,靠的是卖体验!...
- 题目448-寻找最大数
- 栈和排序---牛客练习赛10--B题
- python初级爬虫工程师_如何入行爬虫工程师
- 电脑教程从入门到精通_【电路仿真】视频教程资料包,proteus入门到精通+实例教程+软件,免费下载!...