zoukankan      html  css  js  c++  java
  • poj 1125 Stockbroker Grapevine(Folyd)

     1 //nyoj的数据改成了1000 ,然后就跪了。。 好像大神们用spfa做的
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<cstdlib>
     5 #include<cstring>
     6 #include<string>
     7 #include<queue>
     8 #include<algorithm>
     9 #include<map>
    10 #include<iomanip>
    11 #include<climits>
    12 #include<string.h>
    13 #include<cmath>
    14 #include<stdlib.h>
    15 #include<vector>
    16 #include<stack>
    17 #include<set>
    18 #define INF 2000000000
    19 #define MAXN 110
    20 #define maxn 1000010
    21 #define Mod 1000007
    22 #define N 1010
    23 using namespace std;
    24 typedef long long LL;
    25 
    26 int n, m;
    27 int v, w;
    28 int G[MAXN][MAXN];
    29 int minn, pos;
    30 
    31 void Floyd()
    32 {
    33     for (int k = 1; k <= n; ++k)
    34         for (int i = 1; i <= n; ++i)
    35             for (int j = 1; j <= n; ++j)
    36                 if (G[i][k] + G[k][j] < G[i][j])
    37                     G[i][j] = G[i][k] + G[k][j];
    38 }
    39 
    40 void getMin()
    41 {
    42     int sum;
    43     minn = maxn;
    44     pos = 0;
    45     for (int i = 1; i <= n; ++i) {
    46         sum = 0;
    47         for (int j = 1; j <= n; ++j)
    48             if (i!= j && G[i][j] > sum)
    49                 sum = G[i][j];
    50         if (minn > sum) {
    51             minn = sum;
    52             pos = i;
    53         }
    54     }
    55     
    56 }
    57 
    58 int main()
    59 {
    60     while (~scanf("%d", &n),n) {
    61         for (int i = 0; i <= n; ++i)
    62             for (int j = i + 1; j <= n; ++j)
    63                 G[i][j] = G[j][i] = maxn;
    64         
    65         for (int i = 1; i <= n; ++i) {
    66             scanf("%d", &m);
    67             for (int j = 0; j < m; ++j) {
    68                 scanf("%d%d", &v, &w);
    69                 G[i][v] = w;
    70             }
    71         }
    72         Floyd();
    73         getMin();
    74         if (minn == maxn) puts("disjoint");
    75         else printf("%d %d
    ",pos,minn);
    76     }
    77     return 0;
    78 }
    代码君
  • 相关阅读:
    CC3000 SmartConfig
    谈谈几个月以来开发android蓝牙4.0 BLE低功耗应用的感受
    CC3000 SPI接口编程介绍
    cc3000+LM3S9B96
    CC3000 主机驱动API介绍
    Wi-FiR CC3000 模块
    修改远程桌面连接端口及修改端口号后如何连接!
    电脑网线/水晶头的连接方法(A类,B类)
    快速切换IP的批处理!
    IE打开报错,提示该内存不能为read的解决办法!
  • 原文地址:https://www.cnblogs.com/usedrosee/p/4340236.html
Copyright © 2011-2022 走看看