<poj - 2139> Six Degrees of Cowvin Bacon 最短路径问题 the cow have been making movies
本题链接:http://poj.org/problem?id=2139
Description:
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:
* 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:
Sample Input:
4 2
3 1 2 3
2 3 4
Sample Output:
100
Hint:
题意:有一群牛在拍电影(牛们的生活真丰富),如果两头牛在同一部电影中出现过,那么这两头牛的度就为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的更多相关文章
- AOJ -0189 Convenient Location && poj 2139 Six Degrees of Cowvin Bacon (floyed求任意两点间的最短路)
		
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207 看懂题就好. 求某一办公室到其他办公室的最短距离. 多组输入,n表示 ...
 - POJ 2139 Six Degrees of Cowvin Bacon (floyd)
		
Six Degrees of Cowvin Bacon Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Ja ...
 - 任意两点间最短距离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 ...
 - POJ 2139 Six Degrees of Cowvin Bacon (Floyd)
		
题意:如果两头牛在同一部电影中出现过,那么这两头牛的度就为1, 如果这两头牛a,b没有在同一部电影中出现过,但a,b分别与c在同一部电影中出现过,那么a,b的度为2.以此类推,a与b之间有n头媒介牛, ...
 - POJ 2139 Six Degrees of Cowvin Bacon
		
水题,Floyd. #include<cstdio> #include<cstring> #include<algorithm> using namespace s ...
 - POJ 2139 Six Degrees of Cowvin Bacon (弗洛伊德最短路)
		
题意:奶牛拍电影,如果2个奶牛在同一场电影里演出,她们的合作度是1,如果ab合作,bc合作,ac的合作度为2,问哪一头牛到其他牛的合作度平均值最小再乘100 思路:floyd模板题 #include& ...
 - POJ:2139-Six Degrees of Cowvin Bacon
		
传送门:http://poj.org/problem?id=2139 Six Degrees of Cowvin Bacon Time Limit: 1000MS Memory Limit: 6553 ...
 - 【POJ - 2139】Six Degrees of Cowvin Bacon (Floyd算法求最短路)
		
Six Degrees of Cowvin Bacon Descriptions 数学课上,WNJXYK忽然发现人缘也是可以被量化的,我们用一个人到其他所有人的平均距离来量化计算. 在这里定义人与人的 ...
 - 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 ...
 
随机推荐
- C#排序算法
			
随笔- 41 文章- 0 评论- 25 C#排序算法小结 前言 算法这个东西其实在开发中很少用到,特别是web开发中,但是算法也很重要,因为任何的程序,任何的软件,都是由很多的算法和数据结构 ...
 - ROWNUMBER()、RANK()、DENSE_RANK()、NTILE1
			
SQLServer针对排名函数ROWNUMBER().RANK().DENSE_RANK().NTILE的研究!~ 相信大家在软件工程中经常会遇到对某些数据进行排名的问题,尤其是对于电子商务的HR来说 ...
 - namespace 的作用
			
在写CPP的时候,常常要写using namespace std;这么一句话,到底有什么用呢? #include <iostream> namespace first { ; } name ...
 - JavaScript 跨域方法总结
			
同源策略 在客户端编程语言中,如javascript和 ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同源策略规定跨域之间的脚本是隔离的,一个域的脚 ...
 - ××校招:前端线上笔试题--页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动
			
题目: 请让页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动: 原理: 1.页面上画一个圆,画一个圆心.在这个圆的圆周上面画一个点,我们就让这个点绕着圆周跑: 2.怎 ...
 - OJ题目JAVA与C运行效率对比
			
[JAVA]深深跪了,OJ题目JAVA与C运行效率对比(附带清华北大OJ内存计算的对比) 看了园友的评论之后,我也好奇清橙OJ是怎么计算内存占用的.重新测试的情况附在原文后边. ----------- ...
 - 专为webkit内核而生的javascript库mango正式发布
			
专为webkit内核而生的javascript库mango正式发布 Mango(芒果) javascript库 求fork https://github.com/willian12345/mango ...
 - C语言的变量的内存分配
			
今晚看了人家写的一个关于C语言内存分配的帖子,发现真是自己想找的,于是乎就收藏了... 先看一下两段代码: char* toStr() { char *s = "abcdefghijkl&q ...
 - How to make workflow chart using several tools in Linux?
			
Just as what I said, I usually use yED to make workflow chart and markdown as the language to write ...
 - Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
			
JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式 (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...