描述

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

输入

输入数据有多组,第一行为一个整数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. keyword模块

    导入关键字模块 import keyword 列出当前系统中Python的关键字 >>> keyword.kwlist ['and', 'as', 'assert', 'break' ...

  2. centos7 操作记录

    centos7 firewall 命令查看已经开放的端口firewall-cmd --list-ports查看开放的服务firewall-cmd --list-services开启端口firewall ...

  3. vue:vue页面刷新vuex数据消失问题

    vuex中数据刷新页面消失问题:a页面请求的数据保存在vuex中,只要不刷新,那跳转到b页面里也可以用,但如果b页面刷新,那vuex里的数据就会消失,可以得解决方法:a页面用的数据a页面的生命周期函数 ...

  4. Emac

    https://emacs-china.org/ 启动 console模式的emacs,$emacs -nw 学习参考: 1)<21天精通emacs> 2)Emacs常用命令简集. 3)& ...

  5. linux shell 语法学习

    文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...

  6. [PHP]自定义session存储机制的两种方案

    ---------------------------------------------------------------------------------------------------- ...

  7. Android 设备,如何root,执行adb shell,查看设备中的数据库信息等【转】

    原文地址: Android 设备,如何root,执行adb shell,查看设备中的数据库信息等

  8. [重点]delphi 实现 根据给定的标题去《中国青年报》网上电子报数据中查找匹配的内容,并从该内容中取出引题、正题、副题、作者和正文。

    项目要求:根据给定的标题去<中国青年报>网上电子报数据中查找匹配的内容,并从该内容中取出引题.正题.作者和正文. unit Unit1; interface uses Winapi.Win ...

  9. 10.mysql-触发器.md

    目录 定义 语法 定义 当操作了某张表时,希望同时触发一些动作/行为,可以使用触发器完成 语法 -- 需求: 当向员工表插入一条记录时,希望mysql自动同时往日志表插入数据 -- 创建触发器(添加) ...

  10. win命令行下载

    1.certutil downloader (1) 保存在当前路径,文件名称同URL eg: certutil.exe -urlcache -split -f https://raw.githubus ...