当前位置: 首页 > 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.jsqmd.com/news/1061632/

相关文章:

  • HC12汇编器常见错误解析与调试实战指南
  • 2026上海冷冻冷库安装公司推荐:专业服务哪家强? - 品牌2026
  • 2026南昌医疗纠纷律所推荐:医疗事故赔偿与胜诉率综合评测 - 品牌2026
  • DepotDownloader终极指南:快速掌握Steam游戏资源下载技巧
  • 2026杭州线上黄金回收测评!网购报价看似高,到店结算差距离谱 - 逸程
  • 终极猫抓浏览器资源嗅探工具:技术开发者必知的5大核心实现揭秘
  • 厂房吊装设备怎么选?欧式桥式 / 门式 / KBK 起重制造商参考 - 深度智识库
  • 选舒华,找对人:舒华厂家联系方式、全国业务对接一站直达 - 热点速览
  • 2026 年 6 月更新|宝珀官方售后网点完整核验报告,专属维修服务网点全新门店地址正式投入运营 - 亨得利中国服务中心
  • Kinetis SDK Flash驱动状态码与API深度解析:从原理到实战避坑指南
  • Kimi K2.6:首个实现工程闭环的自主编程AI系统
  • 嵌入式RTOS抽象层(OSA)设计:跨平台开发与裸机到RTOS平滑迁移
  • 国内主流礼堂椅工厂实测评测:工艺与服务全维度对比 - 起跑123
  • 移动通信协议数据单元加解密:从3G RLC到LTE PDCP的硬件实现与调试
  • 移动桥式三坐标测量机:航空航天检测的国产化破局之路 - 资讯报道
  • LS1012A Freeway开发板硬件架构深度解析与设计实践
  • 当你的AI角色对话平台突然“罢工“:SillyTavern稳定运行指南
  • 2026年贵州高中生职业规划推荐哪家:从霍兰德测评到体制内就业,升学咨询完整方案对标 - 年度推荐企业名录
  • 经常通宵胶原流失下颌线模糊怎么办?2026提拉紧致抗皱面霜推荐,充盈面部,淡化熬夜细纹 - 博客万
  • 2026年铝压铸CT检测选哪家、内部孔隙率、汽车零部件CT检测及无损检测设备厂家推荐 - 栗子测评
  • 2026年收银机选型实战:从智能升级到多业态落地 - 老林说收银
  • 长尾关键词优化技巧提升SEO效果的实用方法与见解
  • 2026盐城适配AI平台的GEO优化推荐哪家公司 - 热点速览
  • 三分钟上手Upscayl:免费开源的AI图像增强终极指南
  • HS2-HF_Patch:如何快速实现Honey Select 2中文汉化的完整指南
  • 105、 PCIE性能分析工具:从一次诡异的丢包说起
  • 2026南京律师事务所推荐排行 高胜诉率精品律所榜 - 极欧测评
  • 2026热流道技术哪家强?热流道厂家一览-优质热流道厂家品牌选购参考 - 栗子测评
  • 老师在2026年网课中使用在线朗读工具提升学生参与度
  • 3分钟快速上手:BilibiliDown音频提取完整指南