#include <cstdio> #include <iostream> #include <algorithm> #include <queue> #include <stack > #include <cstdlib> #include <cmath> #include <set> #include <map> #include <vector># Include <cstring> #define INF 100000000using namespace Std;int n;int a[105][105];int ans[105];int main () {while (CIN >> n,n) {for (int i = 1;i <= n;i++) {for (int j = 1;j <= n;j++) {a[i][j] = INF;}} int m;for (int i = 1;i <= n;i++) {scanf ("%d", &m), for (int j = 1;j <= m;j++) {int x,v;scanf ("%d%d", &x,&v); a[i ][x] = V;}} for (int k = 1;k <= n;k++) {for (int i = 1;i <= n;i++) {for (int j = 1;j <= n;j++) {a[i][j] = min (a[i][j],a[i][k]+a[k][ J]); }}} int max = Inf;int maxn;for (int i = 1;i <= n;i++) {Ans[i] = 0;for (int j = 1; J <= n;j++) {if (i! = J && A[i] [j] > Ans[i]) {ans[i] = A[i][j];}} if (Ans[i] < max) {max = ANS[I];MAXN = i;}} if (max >= INF) {cout << "disjoint" << Endl;} else{printf ("%d%d\n", Maxn,max);}} return 0;}
POJ 1125 stockbroker Grapevine Floyd Shortest circuit