本题链接http://poj.org/problem?id=2139

Description:

    The cows have been making movies lately, so they are ready to play a variant of the famous game "Six Degrees of Kevin Bacon". 
    The game works like this: each cow is considered to be zero degrees of separation (degrees) away from herself. If two distinct cows have been in a movie together, each is considered to be one 'degree' away from the other. If a two cows have never worked together but have both worked with a third cow, they are considered to be two 'degrees' away from each other (counted as: one degree to the cow they've worked with and one more to the other cow). This scales to the general case.

The N (2 <= N <= 300) cows are interested in figuring out which cow has the smallest average degree of separation from all the other cows. excluding herself of course. The cows have made M (1 <= M <= 10000) movies and it is guaranteed that some relationship path exists between every pair of cows.

Input:

   * Line 1: Two space-separated integers: N and M

* Lines 2..M+1: Each input line contains a set of two or more space-separated integers that describes the cows appearing in a single movie. The first integer is the number of cows participating in the described movie, (e.g., Mi); the subsequent Mi integers tell which cows were.

Output:

     * Line 1: A single integer that is 100 times the shortest mean degree of separation of any of the cows. 

Sample Input:

4 2
3 1 2 3
2 3 4

Sample Output:

100

Hint:

    [Cow 3 has worked with all the other cows and thus has degrees of separation: 1, 1, and 1 -- a mean of 1.00 .] 

 题意:有一群牛在拍电影(牛们的生活真丰富),如果两头牛在同一部电影中出现过,那么这两头牛的度就为1,如果a与b之间有n头媒介牛,那么a,b的度为n+1。 给出m部电影,每一部给出牛的个数和编号。问哪一头到其他每头牛的度数平均值最小,输出 最小 平均值 乘100。

 解题思路:只要把任意两个牛之间的最小度求出来然后就处理就行了,可以考虑用Floyd算法(三个for

 参考代码:

 #include <cstring>
#include <iostream>
#define INF 9999999
#define maxn 300
using namespace std; int cost[maxn][maxn];
int p[maxn];
int V; void fl () {
for (int k = ; k <= V; ++k) {
for (int i = ; i <= V; ++i) {
for (int j = ; j <= V; ++j) {
cost[i][j] = min (cost[i][j], cost[i][k] + cost[k][j]);
}
}
}
} int main () {
int x, y;
int a, b;
int n; cin >> V >> n; //-----------------------------------------初始化
memset (p, , sizeof(p));
for (int i = ;i <= V; ++i)
for (int j = ; j <= V; ++j)
cost[i][j] = INF;
for (int i = ; i <= V; ++i)
cost[i][i] = ;
//-----------------------------------------整理输入数据 while (n--) {
cin >> y;
for (int i = ; i <= y; ++i) {
cin >> p[i];
}
for (int i = ;i <= y; ++i) {
for (int j = i + ; j <= y; ++j) {
a = p[i];
b = p[j];
cost[b][a] = cost[a][b] = ;///a和b之间的距离
}
}
} fl ();//--------------调用函数 //-------------------------------------------------------求最小值输出
int sum, minsum = INF;
int i, j; for (i = ; i <= V; ++i) {
sum = ;
for (j = ; j <= V; ++j) {
sum += cost[i][j];
}
if (sum < minsum)//求最小值
minsum = sum;
} cout << (minsum * ) / (V - ) << endl; //输出 最小 平均值 return ;
}

  欢迎码友评论,一起成长。

<poj - 2139> Six Degrees of Cowvin Bacon 最短路径问题 the cow have been making movies的更多相关文章

  1. AOJ -0189 Convenient Location && poj 2139 Six Degrees of Cowvin Bacon (floyed求任意两点间的最短路)

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207 看懂题就好. 求某一办公室到其他办公室的最短距离. 多组输入,n表示 ...

  2. POJ 2139 Six Degrees of Cowvin Bacon (floyd)

    Six Degrees of Cowvin Bacon Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Ja ...

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

    floyd-warshall算法 通过dp思想 求任意两点之间最短距离 重复利用数组实现方式dist[i][j] i - j的最短距离 for(int k = 1; k <= N; k++) f ...

  4. POJ 2139 Six Degrees of Cowvin Bacon (Floyd)

    题意:如果两头牛在同一部电影中出现过,那么这两头牛的度就为1, 如果这两头牛a,b没有在同一部电影中出现过,但a,b分别与c在同一部电影中出现过,那么a,b的度为2.以此类推,a与b之间有n头媒介牛, ...

  5. POJ 2139 Six Degrees of Cowvin Bacon

    水题,Floyd. #include<cstdio> #include<cstring> #include<algorithm> using namespace s ...

  6. POJ 2139 Six Degrees of Cowvin Bacon (弗洛伊德最短路)

    题意:奶牛拍电影,如果2个奶牛在同一场电影里演出,她们的合作度是1,如果ab合作,bc合作,ac的合作度为2,问哪一头牛到其他牛的合作度平均值最小再乘100 思路:floyd模板题 #include& ...

  7. POJ:2139-Six Degrees of Cowvin Bacon

    传送门:http://poj.org/problem?id=2139 Six Degrees of Cowvin Bacon Time Limit: 1000MS Memory Limit: 6553 ...

  8. 【POJ - 2139】Six Degrees of Cowvin Bacon (Floyd算法求最短路)

    Six Degrees of Cowvin Bacon Descriptions 数学课上,WNJXYK忽然发现人缘也是可以被量化的,我们用一个人到其他所有人的平均距离来量化计算. 在这里定义人与人的 ...

  9. POJ2139--Six Degrees of Cowvin Bacon(最简单Floyd)

    The cows have been making movies lately, so they are ready to play a variant of the famous game &quo ...

随机推荐

  1. boost------signals2的使用1(Boost程序库完全开发指南)读书笔记

    signals2基于Boost的另一个库signals,实现了线程安全的观察者模式.在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个 ...

  2. Dynamics CRM 客户端的插件调试

    Dynamics CRM 客户端的插件调试 一直以来,Dynamics CRM插件在大家的印象中都是不便于调试的,根据官方文档(http://technet.microsoft.com/zh-cn/l ...

  3. C#做的颜色工具

    常常会用到绘制以及配色,每次看到 framework 里边的 KnowColor.xxx 我就一阵......到底啥颜色啊,干脆做一个一劳永逸的工具吧.功能包含: 可以实现枚举所有系统颜色 圆形.矩形 ...

  4. Oracle中忘记sys和System密码的办法

    打开cmd:sqlplus/nolog connect/as sysdba; alter user sys identified by ***; alter user system identifie ...

  5. linux下安装java

    搞了一年IT了,作为IT人没怎么玩过linux挺丢脸的,要好好整整. 先从熟悉的来,在linux下开发java,首先要搭建环境. linux有一个工具yum,非常好用. 1.yum install j ...

  6. Linux并发模型

    Linux并发模型 Linux并发模型 目前可以实现并发程序的方法有Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型 ...

  7. 11 款最好 CSS 框架

    11 款最好 CSS 框架 让你的网站独领风骚 网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒 ...

  8. python supervisor demo deployment

    I did a demo about how to deploy other python apps served by a 'supervisord' daemon processor on git ...

  9. 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. MapXtreme 随笔记录1

    最近在用MapXtreme做项目,随笔记录备忘. 声明:PubMapPara 静态类,后缀为静态类成员变量 1.加载地图 /// <summary> /// 地图工作空间文件路径 /// ...