水题,裸的Floyd。最后要求遍历一遍图的最短路径,只需要枚举将当前每一个点作为起始点。如果它不能到达其中的某一点,则该点不可能作为起始点;否则,由该点开始遍历全图的最短路径是到所有点距离中的最大值。最终结果就是这些最大值中的最小值。

 #include<iostream>
#include<cstdio>
using namespace std;
const int MAXN=+;
const int INF=;
int map[MAXN][MAXN]; int main()
{
int n;
while (scanf("%d",&n))
{
if (n==) break;
for (int i=;i<n;i++)
for (int j=;j<n;j++) map[i][j]=INF; for (int i=;i<n;i++)
{
int m;
scanf("%d",&m);
for (int j=;j<m;j++)
{
int people,time;
scanf("%d%d",&people,&time);
map[i][people-]=time;
}
} for (int k=;k<n;k++)
for (int i=;i<n;i++)
for (int j=;j<n;j++)
if (i!=j && k!=i && k!=j && map[i][j]>map[i][k]+map[k][j])
{
map[i][j]=map[i][k]+map[k][j];
} int ans=INF,ansb;
for (int i=;i<n;i++)
{
bool reach=true;
int maxlen=-;
for (int j=;j<n && reach;j++)
{
if (i!=j && map[i][j]==INF) reach=false;
if (i!=j && map[i][j]>maxlen) maxlen=map[i][j];
}
if (reach && maxlen<ans)
{
ans=maxlen;
ansb=i;
}
}
if (ans==INF) cout<<"disjoint";else cout<<ansb+<<' '<<ans;
cout<<endl;
} return ;
}

最新文章

  1. iOS瀑布流实现(Swift)
  2. 使用JSF框架过程中的若干典型问题及其解决方案
  3. 浅谈对Js闭包的理解
  4. 第25章 SEH结构化异常处理_未处理异常及向量化异常
  5. java.lang.NoClassDefFoundError: org/apache/avro/ipc/Responder
  6. Powershell的内置变量
  7. 在express项目中有效组织和使用mongoose
  8. java多线程:jdk并发包的总结(转载)
  9. Shell脚本基础I
  10. mybatis系列-16-spring和mybatis整合
  11. poj 1719 Shooting Contest
  12. sql server 自定义函数的使用
  13. 分别取商和余数:divmod(a, b)
  14. latch free
  15. Netty实例-简单的服务端-client实现,凝视具体
  16. jquery select三级联动
  17. vb.net它SqlHelper制备及应用
  18. Amazon SNS (Simple Notification Service) Using C# and Visual Studio
  19. 关于Java8:StreamAPI的一点记录
  20. 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week3 20165326

热门文章

  1. sqlserver 树形结构表查询 获取拼接结果
  2. python进行机器学习(二)之特征选择
  3. CMD命令行下载文件
  4. [device tree] interrupt
  5. python基础===monkeytype可以自动添加注释的模块!
  6. Android IPC
  7. JavaScript里的小妖精
  8. java字符串转换数值类型出现异常赋予默认值
  9. 如何设置WordPress文章特色图像(Featured Image)
  10. [水煮 ASP.NET Web API2 方法论](1-2)在 WebForm 应用程序中添加 ASP.NET Web API