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 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