当前位置: 首页 > news >正文

UVa 567 Risk

题目描述

题目要求计算给定无向图中两点之间的最短路径长度(边数)。图有202020个节点,输入描述了111191919的每个节点与更高编号节点的连接关系。然后给出若干查询,输出从起点到终点的最短路径边数(包括终点)。

输入格式

输入包含多个测试集。每个测试集前191919行描述图:第iii行(1≤i≤191 \le i \le 191i19)包含一个整数XXX,表示与节点iii相邻的更高编号节点数,然后XXX个整数JJJi<J≤20i < J \le 20i<J20)。第202020行是一个整数NNN1≤N≤1001 \le N \le 1001N100),表示查询数。接下来NNN行,每行两个整数AAABBB1≤A,B≤201 \le A, B \le 201A,B20A≠BA \ne BA=B),表示起点和终点。输入以文件结束符(EOF\texttt{EOF}EOF)终止。

输出格式

对于每个测试集,输出Test Set #TTTT111开始)。然后对于每个查询,输出一行,格式为:起点(右对齐宽度222)、to、终点(右对齐宽度222)、:、最短路径边数。每个测试集输出后跟一个空行。

样例

输入

1 3 2 3 4 3 4 5 6 1 6 1 7 2 12 13 1 8 2 9 10 1 11 1 11 2 12 17 1 14 2 14 15 2 15 16 1 16 1 19 2 18 19 1 20 1 20 5 1 20 2 9 19 5 18 19 16 20 4 2 3 5 6 1 4 3 4 10 5 5 10 11 12 19 18 2 6 7 2 7 8 2 9 10 1 9 1 10 2 11 14 3 12 13 14 3 18 17 13 4 14 15 16 17 0 0 0 2 18 20 1 19 1 20 6 1 20 8 20 15 16 11 4 7 13 2 16

输出

Test Set #1 1 to 20: 7 2 to 9: 5 19 to 5: 6 18 to 19: 2 16 to 20: 2 Test Set #2 1 to 20: 4 8 to 20: 5 15 to 16: 2 11 to 4: 1 7 to 13: 3 2 to 16: 4

题目分析

本题的核心是计算所有点对之间的最短路径(边权为111)。可以使用Floyd-Warshall\texttt{Floyd-Warshall}Floyd-Warshall算法。

算法

  • 初始化邻接矩阵country[i][j]\textit{country}[i][j]country[i][j]i=ji = ji=j时为000,有边时为111,否则为∞\infty
  • 运行Floyd-Warshall\texttt{Floyd-Warshall}Floyd-Warshall算法,得到任意两点间最短路径长度。
  • 对于每个查询,直接输出结果。

复杂度分析

节点数202020Floyd-Warshall\texttt{Floyd-Warshall}Floyd-WarshallO(203)=8000O(20^3) = 8000O(203)=8000,可接受。

代码实现

// Risk// UVa ID: 567// Verdict: Accepted// Submission Date: 2016-08-10// UVa Run Time: 0.040s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intmain(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);intcases=0;while(true){intcountry[21][21]={0};intborders,edge,start,end;for(inti=1;i<=20;i++)for(intj=1;j<=20;j++)country[i][j]=100000;boolreaded=true;for(inti=1;i<=19;i++){if(cin>>borders){for(intj=1;j<=borders;j++){cin>>edge;country[i][edge]=1;country[edge][i]=1;}}else{readed=false;break;}country[i][i]=0;}if(readed==false)break;cout<<"Test Set #"<<++cases<<'\n';for(intk=1;k<=20;k++)for(inti=1;i<=20;i++)for(intj=1;j<=20;j++)if(country[i][k]+country[k][j]<country[i][j])country[i][j]=country[i][k]+country[k][j];cin>>borders;for(inti=1;i<=borders;i++){cin>>start>>end;cout<<setw(2)<<start<<" to "<<setw(2)<<end<<": "<<country[start][end]<<'\n';}cout<<'\n';}return0;}
http://www.gsyq.cn/news/1573561.html

相关文章:

  • 2026年长春汇通驾校,长春学车避坑指南!28 年本土老牌驾校汇通驾校,总校金鑫街 699 号一站式拿证无忧 - GrowthUME
  • 厂房吊装设备怎么选?欧式桥式 / 门式 / KBK 起重制造商参考 - 深度智识库
  • Kimi K2.6:首个实现工程闭环的自主编程AI系统
  • 嵌入式RTOS抽象层(OSA)设计:跨平台开发与裸机到RTOS平滑迁移
  • 国内主流礼堂椅工厂实测评测:工艺与服务全维度对比 - 起跑123
  • 2026年铝压铸CT检测选哪家、内部孔隙率、汽车零部件CT检测及无损检测设备厂家推荐 - 栗子测评
  • 经常通宵胶原流失下颌线模糊怎么办?2026提拉紧致抗皱面霜推荐,充盈面部,淡化熬夜细纹 - 博客万
  • 2026年收银机选型实战:从智能升级到多业态落地 - 老林说收银
  • 2026南京律师事务所推荐排行 高胜诉率精品律所榜 - 极欧测评
  • Hermes AI Agent:副业SOP与定价策略的中枢操作系统
  • Drupal 9本地开发最佳实践:DDEV+Docker一站式环境搭建
  • 2026年3+2专本连读!合肥医药卫生学校,护理专业全国排名TOP10 - cc江江
  • 控油祛痘洗面奶哪款效果好?2026精选六款口碑洁面,摆脱越洗越油爆痘恶性循环 - 资讯报道
  • 去水印免费软件哪个好用?手机电脑通用图片视频去水印工具,2026实测整理! - 水印云
  • MangoHud 终极指南:Linux 游戏性能监控神器
  • Lector:为数字阅读构建统一体验的跨平台电子书阅读器解决方案
  • 外文人工翻译如何化解“句句通顺句句不对”?逢君外文人工翻译帮我理清语法逻辑 - 逢君学术-AI论文写作
  • 2026年湖南产教融合与人才培养:风电运维、AI漫剧、企业代招一站式解决方案 - 优质企业观察收录
  • 如何快速掌握Windows STL缩略图预览:一站式实战指南
  • Deepseek-V4架构深度解析:工业级大模型的四大工程转向
  • 从图片到音频全覆盖!2026年合规性AI训练数据集素材供应商优质服务商推荐 - 品牌深度评测
  • 2026工业CT设备公司盘点:解答工业CT选哪家、测量扫描选型问题 - 栗子测评
  • 2026深挖上海浦东靠谱翡翠回收商家,懂行不套路,变现更省心 - 奢品小当家
  • 知识图谱与大语言模型:破解制造业AI黑盒,实现可解释预测性维护
  • 2026佛山大宅消费透明全屋定制品牌综合排行 - 高定
  • Rust 推荐使用宏而非普通函数的场景
  • 2026年湖南产教融合与企业人才获取破局指南:风电运维、AI数字人才、求职赋能全景解析 - 优质企业观察收录
  • HC12汇编器错误深度解析:从寻址模式到指令集兼容性的调试指南
  • 大语言模型语用能力评估:理解与生成不对称性分析与优化实践
  • 高清大图下载网站有哪些?2026年十大图片图库大全,高清壁纸与设计素材看这篇就够了 - 品牌深度评测