POJ 2139 Six Degrees of Cowvin Bacon Floyd最短路
来源:互联网 发布:数据泄密 编辑:程序博客网 时间:2024/05/29 18:37
POJ2139
Description
The cows havebeen making movies lately, so they are ready to play a variant of the famousgame "Six Degrees of Kevin Bacon".
The game works like this: each cow is considered to be zero degrees ofseparation (degrees) away from herself. If two distinct cows have been in amovie together, each is considered to be one 'degree' away from the other. If atwo cows have never worked together but have both worked with a third cow, theyare considered to be two 'degrees' away from each other (counted as: one degreeto the cow they've worked with and one more to the other cow). This scales tothe general case.
The N (2 <= N <= 300) cows are interested in figuring out which cow hasthe smallest average degree of separation from all the other cows. excludingherself of course. The cows have made M (1 <= M <= 10000) movies and itis guaranteed that some relationship path exists between every pair ofcows.
Input
* Line 1: Twospace-separated integers: N and M
* Lines 2..M+1: Each input line contains a set of two or more space-separatedintegers that describes the cows appearing in a single movie. The first integeris the number of cows participating in the described movie, (e.g., Mi); thesubsequent Mi integers tell which cows were.
Output
* Line 1: Asingle integer that is 100 times the shortest mean degree of separation of anyof the cows.
Sample Input
4 2
3 1 2 3
2 3 4
Sample Output
100
Hint
[Cow 3 hasworked with all the other cows and thus has degrees of separation: 1, 1, and 1-- a mean of 1.00 .]
题目大意:N头牛,拍了M部电影,同一部电影中的搭档们距离1,求最小度数之和。求奶牛的与其他奶牛的度的平均值的一百倍的整数。
转换成图则是求一个点到其他点距离的平均值的一百倍。
(任意两点最短路,Floyd)
(求的时候,先扩大一百倍再求平均值)
#include<iostream>#include<algorithm>#include<queue>#include<vector>#include<string>#include<cstring>#include<cstdio>const int INF=0x3f3f3f3f;typedef long long LL;using namespace std;const int maxn=305;int N,M;int G[maxn][maxn];int a[maxn];void ford(){for(int k=1;k<=N;k++)for(int i=1;i<=N;i++)for(int j=1;j<=N;j++) G[i][j]=min(G[i][j],G[i][k]+G[k][j]);} int main(){//freopen("E:\\ACM\\test.txt","r",stdin);while(cin>>N>>M){for(int i=0;i<=N;i++)for(int j=0;j<=N;j++)if(i==j) G[i][j]=0;else G[i][j]=INF;int t;for(int i=0;i<M;i++){cin>>t;for(int i=0;i<t;i++)cin>>a[i];for(int i=0;i<t;i++) //同一部电影中任意两头牛的距离为1 for(int j=i+1;j<t;j++)G[a[i]][a[j]]=G[a[j]][a[i]]=1;}ford();int sum,ans=INF; for(int i=1;i<=N;i++){sum=0;for(int j=1;j<=N;j++) //枚举所有距离中的最小值 sum+=G[i][j];ans=min(ans,sum);}cout<<ans*100/(N-1)<<endl; //那一头牛与其它牛距离的平均值}return 0;}
- POJ 2139-Six Degrees of Cowvin Bacon(最短路Floyd)
- Six Degrees of Cowvin Bacon (poj 2139 最短路Floyd)
- POJ 2139 Six Degrees of Cowvin Bacon Floyd最短路
- poj 2139 Six Degrees of Cowvin Bacon 最短路
- POJ 2139 Six Degrees of Cowvin Bacon(最短路)
- POJ 2139 Six Degrees of Cowvin Bacon 最短路
- POJ - 2139 Six Degrees of Cowvin Bacon(任意两点最短路,Floyd)
- POJ 2139 Six Degrees of Cowvin Bacon(任意两点最短路,Floyd)
- poj 2139 Six Degrees of Cowvin Bacon 图论 Floyd最短路
- Poj 2139 Six Degrees of Cowvin Bacon (floyd最短路)
- poj 2139 Six Degrees of Cowvin Bacon (Floyd 算法)
- POJ 2139 - Six Degrees of Cowvin Bacon(floyd)
- poj 2139 Six Degrees of Cowvin Bacon , floyd
- poj 2139 Six Degrees of Cowvin Bacon floyd算法
- POJ 2139 Six Degrees of Cowvin Bacon (Floyd)
- Poj 2139 Six Degrees of Cowvin Bacon【floyd】
- POJ 2139 Six Degrees of Cowvin Bacon【floyd】
- 【图论floyd】 poj 2139 Six Degrees of Cowvin Bacon
- @ResponseBody
- 应届狗的自我修养--ajax前台调用后台数据显示List篇
- CSUACM月赛1972
- ToLua学习笔记,通信(一)
- Spring MVC
- POJ 2139 Six Degrees of Cowvin Bacon Floyd最短路
- 守护进程
- 不要让异常跑出析构函数
- Javascript错误处理——try...catch
- 湖南多校对抗赛(2015.4.6)C
- HDU 6053 TrickGCD
- Redis缓存同步
- C语言数据结构-栈-链表实现
- UVa-11396 Claw Decomposition(二分图判断)