poj 1125

题意:股票经纪人要在人群中传播谣言,给出有联系的两个人及谣言在他们之间传播的时间,让你求出谣言从某个人开始传播至所有人所需的最短时间,以及这个人是第几个人

folyd算法

java代码

 1 import java.util.Scanner;
 2 import java.util.Arrays;
 3
 4 public class Main{
 5     static int INF = 0x3f3f3f3f;
 6
 7     public static void main(String[] args){
 8         int T;
 9         Scanner in = new Scanner(System.in);
10         while(in.hasNext()){
11             T = in.nextInt();
12             if(T==0)
13                 break;
14             int map[][] = new int[T+1][T+1];
15
16             for(int i=0;i<=T;i++)
17                 Arrays.fill(map[i],INF);
18
19             for(int i=1;i<=T;i++){
20                 int m=in.nextInt();
21                 for(int j=1;j<=m;j++){
22                     int u=in.nextInt();
23                     int w = in.nextInt();
24                     map[i][u] = w;
25                 }
26             }
27
28             for(int k=1;k<=T;k++)
29                 for(int i=1;i<=T;i++)
30                     for(int j=1;j<=T;j++)
31                         if(k!=i&&i!=j&&map[i][k]+map[k][j]<map[i][j])
32                             map[i][j] = map[i][k]+map[k][j];
33
34             int min = INF;
35             int s=0;
36             for(int i=1;i<=T;i++){
37                 int max = 0;
38                 for(int j=1;j<=T;j++){
39                     if(i!=j&&map[i][j]>max)
40                         max = map[i][j];
41                 }
42                 if(min>max){
43                     min = max;
44                     s = i;
45                 }
46             }
47             if(min>=INF)
48                 System.out.println("disjoint");
49             else
50                 System.out.println(s+" "+min);
51         }
52     }
53 }
时间: 2024-10-17 12:14:52

poj 1125的相关文章

【POJ 1125】Stockbroker Grapevine

[POJ 1125]Stockbroker Grapevine 最短路 不过这题数据很水..主要想大牛们试试南阳OJ同题 链接如下: http://acm.nyist.net/JudgeOnline/talking.php?pid=426&page=2 数据增大很多 用到很多东西才能过 (弱没过,,, 这题就是求最短路寻找所有通路中最大权的最小值外加考验英语水平-- Floyd 208K 0MS 1162B #include using namespace std; int dis[111][1

POJ 1125 Stockbroker Grapevine (Floyd算法)

Floyd算法计算每对顶点之间的最短路径的问题 题目中隐含了一个条件是一个人可以同时将谣言传递给多个人 题目最终的要求是时间最短,那么就要遍历一遍求出每个点作为源点时,最长的最短路径长是多少,再求这些值当中最小的是多少,就是题目所求 #include<bits/stdc++.h> using namespace std; int n,x,p,t; int m[120][120],dist[120][120],Max[120]; void floyd(int n,int m[][120],int

poj 1125 (floyed 最短路径)

Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26395   Accepted: 14558 Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformation amongst th

poj 1125 Stockbroker Grapevine(多源最短路)

链接:poj 1125 题意:输入n个经纪人,以及他们之间传播谣言所需的时间, 问从哪个人开始传播使得所有人知道所需时间最少,这个最少时间是多少 分析:因为谣言传播是同时的,对于某条路径使得所有人都知道的时间,不是时间的总和,而是路径中最长的边 从多条路径的最长边,找出最小值,因为为多源最短路,用Floyd比较方便 #include<stdio.h> #include<limits.h> int a[105][105]; void floyd(int n) { int i,j,k,

poj 1125 Stockbroker Grapevine(多源最短)

id=1125">链接:poj 1125 题意:输入n个经纪人,以及他们之间传播谣言所需的时间, 问从哪个人開始传播使得全部人知道所需时间最少.这个最少时间是多少 分析:由于谣言传播是同一时候的,对于某条路径使得全部人都知道的时间.不是时间的总和,而是路径中最长的边 从多条路径的最长边,找出最小值.由于为多源最短路,用Floyd比較方便 #include<stdio.h> #include<limits.h> int a[105][105]; void floyd(

Poj(1125),Floyd,

题目链接:http://poj.org/problem?id=1125 多源点最短路中的,最长路的,最短路. 看到这里就懵逼了,解释一下,找到一个源点,使得路最短,(遍历源点),路最短怎么求呢? 就是找到从该源点出发,到达所有点中的最长的点的路径,就是他的最短路,然后根据n个源点,找到这样的最长路最短的,就行了. 这里的具体Floyd算法,我还没推过,dis[i][j]从I到J的最短路. #include <stdio.h> #include <string.h> #include

最短路poj 1125

题目:poj1125Stockbroker Grapevine 题意:此题题意远比题目难 首先,题目可能有多组测试数据,每个测试数据的第一行为经纪人数量N(当N=0时,输入数据结束),然后接下来N行描述第i(1<=i<=N)个经纪人与其他经纪人的关系(教你如何画图).每行开头数字M为该行对应的经纪人有多少个经纪人朋友(该节点的出度,可以为0),然后紧接着M对整数,每对整数表示成a,b,则表明该经纪人向第a个经纪人传递信息需要b单位时间(即第i号结点到第a号结点的孤长为b),整张图为有向图,即弧

POJ 1125 Stockbroker Grapevine

Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33141   Accepted: 18246 Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformation amongst th

poj 1125 Stockbroker Grapevine(最短路径)

Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformation amongst the stockbrokers to give your employer the tactical edge in the stock market. For maximum effect, you have to

POJ 1125:Stockbroker Grapevine

Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000KB   64bit IO Format: %I64d & %I64u Submit Status Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a method of spreading disinformation among