POJ 2139

Posted huluxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 2139相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 #include <cstring>
 5 #include <algorithm>
 6 #include <queue>
 7 #include <stack>
 8 #include <vector>
 9 #include <iomanip>
10 #include <climits>
11 using namespace std;
12 int n,m;
13 int map[350][350],a[350];
14 int main(int argc, char *argv[])
15 {
16     scanf("%d%d",&n,&m);
17     for(int i=0;i<=n;i++)
18         for(int j=0;j<=n;j++)
19         {
20             if(i==j)
21             map[i][j]=0;
22             else
23             map[i][j]=1e9;
24         }
25     for(int i=0;i<m;i++)
26     {
27         int t;
28         scanf("%d",&t);
29         for(int j=0;j<t;j++)
30            {
31                scanf("%d",&a[j]);
32                for(int k=0;k<j;k++)
33                {
34                  map[a[k]][a[j]]=map[a[j]][a[k]]=1;
35                }
36            }     
37     }
38     for(int k=1;k<=n;k++)
39           for(int i=1;i<=n;i++)
40              for(int j=1;j<=n;j++)
41                    if(map[i][j]>map[i][k]+map[k][j])
42                        map[i][j]=map[i][k]+map[k][j];
43     int sum=1e9;
44     for(int i=1;i<=n;i++)
45     {
46         int sum1=0;
47         for(int j=1;j<=n;j++)
48         {
49             if(j!=i)
50             sum1+=map[i][j];
51         }
52         sum=min(sum,sum1);
53     }
54     double sum3=sum*100/(n-1);
55     printf("%d
",(int)sum3);
56     return 0;
57 }

 

以上是关于POJ 2139的主要内容,如果未能解决你的问题,请参考以下文章

POJ 2139 Six Degrees of Cowvin Bacon

poj2139

POJ2139 Six Degrees of Cowvin Bacon [Floyd]

POJ No 2139 Six Degress of Cowvin Bacon(warshall_floyd(任意两点最短路径))

POJ2139-Six Degrees of Cowvin Bacon-(Floyd_Warshall)

任意两点间最短距离floyd-warshall ---- POJ 2139 Six Degrees of Cowvin Bacon