Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)A蔡老板的会议
题目描述
图灵杯个人赛就要开始了,蔡老板召集俱乐部各部门的部长开会。综合楼有N (1<=N<=1000)间办公室,编号1~N每个办公室有一个部长在工(mo)作(yu),其中X号是蔡老板的办公室,会议也将在X(1<=X<=N)号办公室举行。综合楼的构造极其特殊,这N个办公室之间M(1<=M<=100,000)条单向走廊。通过第i条路将需要花费Ti(1<=Ti<=100)单位时间。
由于工作很忙,开完会之后各部长需要返回自己的办公室。他们会选择最短时间的最优路径。
为了合理安排接下来的工作,蔡老板想知道,【来回最久的】【!!!】那个部长在路上花费的时间是多少。
输入
第一行:用空格隔开的三个数N,M和X
接下来的M行:每行有用空格隔开的三个数Ai,Bi和Ti,表示从A点到B点花费的时间Ti
输出
一个int型的数,表示花费时间的最大值
样例输入
4 4 1 1 2 1 2 3 1 3 4 3 4 1 3
样例输出
8
1 #include<stdio.h> 2 #include<iostream> 3 #include<algorithm> 4 #include<string.h> 5 #define MAX 0xfffffff 6 using namespace std; 7 8 int m,n,x; 9 int vis[1005]; 10 int map1[1005][1005],dis1[1005]; 11 int map2[1005][1005],dis2[1005]; 12 13 void dijkstra1(int (*map)[1005],int *dis) 14 { 15 memset(vis,0,sizeof(vis)); 16 vis[x]=1; 17 for(int i=1;i<=n;i++) 18 { 19 dis[i]=map[x][i]; 20 } 21 for(int i=1;i<=n;i++) 22 { 23 int M=MAX,k=-1; 24 for(int j=1;j<=n;j++) 25 { 26 if(!vis[j]&&dis[j]<M) 27 M=dis[j],k=j; 28 } 29 if(k==-1) 30 return; 31 vis[k]=1; 32 for(int j=1;j<=n;j++) 33 { 34 if(!vis[j]&&dis[j]>dis[k]+map[k][j]) 35 dis[j]=dis[k]+map[k][j]; 36 } 37 38 } 39 } 40 41 int main() 42 { 43 while(scanf("%d%d%d",&n,&m,&x)!=EOF) 44 { 45 //memset(vis,0,sizeof(vis)); 46 for(int i=1;i<=n;i++) 47 { 48 for(int j=1;j<=n;j++) 49 map1[i][j]=map2[i][j]=i==j?0:MAX; 50 } 51 for(int i=1;i<=m;i++) 52 { 53 int a,b,t; 54 scanf("%d%d%d",&a,&b,&t); 55 if(map1[a][b]>t) 56 map1[a][b]=t; 57 if(map2[b][a]>t) 58 map2[b][a]=t; 59 } 60 dijkstra1(map1,dis1); 61 dijkstra1(map2,dis2); 62 for(int i=1;i<=n;i++) 63 { 64 dis1[i]=dis1[i]+dis2[i]; 65 } 66 sort(dis1+1,dis1+1+n); 67 printf("%d\n",dis1[n]); 68 69 } 70 return 0; 71 }
转载于:https://www.cnblogs.com/1778393206-qq/p/6092388.html
Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)A蔡老板的会议相关推荐
- 第八届“图灵杯”NEUQ—ACM程序设计竞赛个人赛(同步赛)
A题--切蛋糕 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2 ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)E粉丝与分割平面...
题目描述 在一个平面上使用一条直线最多可以将一个平面分割成两个平面,而使用两条直线最多可将平面分割成四份,使用三条直线可将平面分割成七份--这是个经典的平面分割问题,但是too simple,作为一个 ...
- 第四届“图灵杯”NEUQ-ACM程序设计人赛真题重现
文章目录 前言 系列文章目录 一.蔡老板的会议 题目描述 分析 AC代码如下: 二.拿糖果 题目描述 分析 AC代码如下: 三.粉丝与分割平面 题目描述 分析 AC代码如下: 四.粉丝与汉诺塔 题目描 ...
- 第十届“图灵杯”NEUQ-ACM程序设计竞赛个人赛解题报告
第十届"图灵杯"NEUQ-ACM 题目链接 解题报告 D 文稿修订 思路 代码 F 吃包子 思路 代码 G 数字鉴定 思路 代码 H 线性变换 思路 代码 I 试题排版 思路 代码 ...
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛) 2021.1.30
第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛(同步赛) B小宝的幸运数组 C上进的凡凡 D Seek the Joker I E Seek the Joker II H 数羊 ...
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛)解题报告
第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛(同步赛) 题目总结 A题 切蛋糕 题目信息 解题思路 如果我们将 1/k展开到二进制的形式,那么就可以计算出 需要 多少块1/( ...
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛题解
第八届"图灵杯"NEUQ-ACM程序设计竞赛个人赛题解 先抱怨一下,这场比赛的题锅太多了,而且正赶上状态不好,Ac 1/12就离谱.. H 数羊 给定n,m(1≤n≤109,0≤m ...
- “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】
校赛~校赛~ Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description SDUT 的校赛是从 20 ...
- 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 nn与游戏
第九届"图灵杯"NEUQ-ACM程序设计竞赛个人赛 nn与游戏 原题链接 题目描述 nn最近突然对做游戏非常感兴趣,于是他去找做游戏的xf询问相关话题,而xf此时正好在做一个游戏d ...
最新文章
- 【云计算】阿里云云计算专业认证考试
- MyBatis的高级映射之多对一
- python——opencv入门(一)
- Window.ShowModalDialog使用手册
- Tomcat与JDK版本对应关系
- hadoop ha 参考
- 数据仓库与数据挖掘(一)
- Margin 属性的一些边界情况说明 --转http://blog.csdn.net/ghj1976/article/details/4987686
- 4.串口操作之API篇 CreateFile
- 免费开源的100套Echarts大屏数据可视化模板分享
- BAT批处理提取文件内容替换指定文件内容
- ios9提取安装包ipa_支付宝9.9苹果版-ios支付宝9.9内测版下载ipa提取版-《百度网盘下载》西西软件下载...
- 智能快递柜的密码模块
- Linux云计算学习教程,一个全新的世界—Linux
- cesium学习 之 Entity 画卫星轨道 (一)
- 名片管理系统 #python项目 #演练 #增删改查CRUD #全程教程
- 靶机16 GROTESQUE: 2
- java判断字符串st6_是否包含st5_第 18 章 在机器指令级调试
- PHP毕业设计项目作品源码选题(8)电影院售票系统毕业设计毕设作品开题报告
- 计算机科学增刊能检索,SCI增刊是否能检索和被认可