描述

网络是由很多交换机与网线组成的,网络中的信息可能会在这些网络中不断转发,给定任意两个交换机,我们需要从中找到最快的路径进行转发,我们定义转发过程中所经过的网线条数为两个交换机之间的路径长度。如果交换机之间没有连接,则认为路径长度为无穷大。同时我们定义网络的最长路径就是任意交换机之间最短路径的最大值。给定一个网络的拓扑结构,请求其最长路径。

输入

输入数据有多组,第一行为一个整数n,表示交换机的台数,并且对这些交换机从1~n编号,接下来的n行中,第i行指定了若个与第i个交换机连接的交换机编号,如果该行为空,则表示没有指定任何编号。交换机之间的连接都是双向的,但描述信息中可能会给出单向或者双向的连接信息。

若n为0表示输入结束。

输出

输出网络的最长路径,如果最长路径为无穷大,请输出infinite,每组数据占一行。

样例输入

6
2 6 4
1 5 3
4 6

4 6

6
2
3
4
5
6
1
3
2

0

样例输出

2
3
infinite

题意

如上

题解

floyd模板题,最长路径==任意两点最短路径最大值

istringstream对象可以绑定一行字符串,默认以空格为分隔符把该行分隔开来

 #include<stdio.h>
#include<string>
#include<iostream>
#include<algorithm>
#include<sstream>//头文件
using namespace std; int dis[][];
int main(){
int i,j,k,n,w;
while(scanf("%d",&n)!=EOF,n){
getchar();//读回车
for(i=;i<=n;i++){
for(j=;j<=n;j++){
if(i==j)dis[i][j]=;//自己到自己为0
else dis[i][j]=1e9;//否则为无穷
}
} char str[];
for(i=;i<=n;i++){
gets(str);
string a=str;
istringstream ss(a);//流输入,ss不用定义
while(ss>>w){
dis[i][w]=;//双向
dis[w][i]=;
}
} for(k=;k<=n;k++){//floyd算法
for(i=;i<=n;i++){
for(j=;j<=n;j++){
if(dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j];
}
}
} int x=;
for(i=;i<=n;i++){
for(j=;j<=n;j++){
if(dis[i][j]>x)
x=dis[i][j];
}
}
if(x==1e9)printf("infinite\n");
else printf("%d\n",x);
}
return ;
}

TZOJ 3663 最长路径(floyd)的更多相关文章

  1. POJ 3860 Fruit Weights(数学+最长路径 or 最短路径)

    Description Have you ever thought about comparing the weight of fruits? That’s what you should do in ...

  2. ubuntu 终端设置(颜色与长路径)

    Linux给人最大的享受就是可以根据个人喜好去定制令自己舒服的系统配置,像终端颜色的设置就是一个典型的例子. 图1 系统默认状态下的终端显示     在没有经过自定义配置的终端下工作久了,难免容易疲劳 ...

  3. Codefroces Gym 100781A(树上最长路径)

    http://codeforces.com/gym/100781/attachments 题意:有N个点,M条边,问对两两之间的树添加一条边之后,让整棵大树最远的点对之间的距离最近,问这个最近距离是多 ...

  4. 【POJ 3162】 Walking Race (树形DP-求树上最长路径问题,+单调队列)

    Walking Race   Description flymouse's sister wc is very capable at sports and her favorite event is ...

  5. hdoj 2196 Computer【树的直径求所有的以任意节点为起点的一个最长路径】

    Computer Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  6. AOE网上的关键路径(最长路径 + 打印路径)

    题目描述 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图.     AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG ...

  7. POJ 1797 Heavy Transportation(Dijkstra变形——最长路径最小权值)

    题目链接: http://poj.org/problem?id=1797 Background Hugo Heavy is happy. After the breakdown of the Carg ...

  8. Going from u to v or from v to u? POJ - 2762(强连通 有向最长路径)

    In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, an ...

  9. HDU 1069 Monkey and Banana / ZOJ 1093 Monkey and Banana (最长路径)

    HDU 1069 Monkey and Banana / ZOJ 1093 Monkey and Banana (最长路径) Description A group of researchers ar ...

随机推荐

  1. es6新特性之箭头函数

    <script> { // es3,es5 var evens = [1, 2, 3, 4, 5]; var odds = evens.map(function (v) { return ...

  2. java 中AIO,BIO,NIO的区别(茅塞顿开)

    看到知乎上一篇回答,解决了疑惑:https://www.zhihu.com/question/56673416 第三位作者的回答...原谅我没有登录知乎,不然一定给他留赞. 也可以参考:https:/ ...

  3. sqoop连接SqlServer2012示例

    sqoop import --connect 'jdbc:sqlserver://192.168.xx.xx:1433;username=sa;password=xxxx;database=WindE ...

  4. List根据时间字符串排序

    Collections.sort(resList, new Comparator<LoanApplyLogRes>() { @Override public int compare(Loa ...

  5. 尚硅谷redis学习3-redis启动以后的杂项

    redis速度很快,运行benchmark可以看出,各项运行速度可达100000次每秒 redis默认有16个数据库,分别是0, 1 ... 15,默认在0号库,可以通过select num转到其它库 ...

  6. linux下给PHP安装拓展

    要先完成了上一篇文章的phpize的操作,并激活它才能下一步. 下载拓展,在http://pecl.php.net/这个网站下载,其他的有可能不成功,我之前还很纳闷phpize已经调试通过了,但是切换 ...

  7. 钩子函数mounted:

    1.钩子函数 钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息.事件进行过滤,访问在正常情况下无法访问的消息.钩子的本质是一段用以处理系统消息的程序,通过 ...

  8. 在JSP页面中导入jstl标签库

    1 在工程中引用JSTL的两个jar包和标签库描述文件. (1)在项目上右击,从弹出的快捷键菜单中选择Properties命令,在出现的项目属性对话框上,选择DeploymentAssembly. ( ...

  9. python实现根据目标字符串修改一下行

    需求: 根据source和dest两个文件,找出新增的命令行,然后在xml文件中根据命令修改id 输入souce: ADD 100 SUB 200 输入dest: MUL 300 DIV 400 AD ...

  10. iptables学习

    droidwall.sh #!/system/bin/sh IPTABLES=iptables BUSYBOX=busybox GREP=grep ECHO=echo # Try to find bu ...