poj 2139 Six Degrees of Cowvin Bacon 图论 Floyd最短路
2015-11-11 22:48
525 查看
题目
题目链接:http://poj.org/problem?id=2139题目来源:《挑战》练习题
简要题意:NN头牛,MM部电影,一些牛合作拍电影,他们之间距离为11,合作的合作距离为22,so on。
\qquad \quad \ \ \ \ 问到最小的牛到其他牛的平均最短距离。
数据范围:2⩽N⩽300;1⩽M⩽100002 \leqslant N \leqslant 300;\quad 1 \leqslant M \leqslant 10000
题解
根据输入去更新图,然后做一发Floyd,再扫一遍求出答案。代码
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <stack> #include <queue> #include <string> #include <vector> #include <set> #include <map> #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define sz(x) ((int)(x).size()) #define fi first #define se second using namespace std; typedef long long LL; typedef vector<int> VI; typedef pair<int,int> PII; LL powmod(LL a,LL b, LL MOD) {LL res=1;a%=MOD;for(;b;b>>=1){if(b&1)res=res*a%MOD;a=a*a%MOD;}return res;} // head const int N = 305; const int INF = 0x3f3f3f3f; int dis ; int a ; int main() { memset(dis, INF, sizeof dis); int n, m, x; scanf("%d%d", &n, &m); for (int i = 0; i < m; i++) { scanf("%d", &x); for (int j = 0; j < x; j++) { scanf("%d", a+j); a[j]--; for (int k = 0; k < j; k++) { dis[a[j]][a[k]] = dis[a[k]][a[j]] = 1; } } } for (int k = 0; k < n; k++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]); } } } double ans = 1e9; for (int i = 0; i < n; i++) { int temp = 0; for (int j = 0; j < n; j++) { if (i == j) continue; temp += dis[i][j]; } ans = min(ans, (double)temp/(n-1)); } printf("%d\n", (int)(ans*100)); return 0; }
相关文章推荐
- 【Leetcode】238-Product of Array Except Self【Java实现】【Medium】【two way traverse】
- linux RPM
- LeetCode Range Sum Query - Immutable
- XML操作
- HTML一般标签
- 关于Fragment与Fragment、Activity通信的四种方式
- 医药采购之供货商药品目录添加查询
- hdu2007 平方和与立方和 (朴素)
- html表单中get与post之间的区别
- python time 模块详解
- 指针数组与数组指针
- 新特性recyclerview 实现瀑布流
- 面向对象程序设计上机练习七(类和对象)
- Javascript设计模式理论与实战:桥接模式
- 关于org.apache.catalina.session.StandardManager doLoad错误的解决
- Java关键字final、static使用总结
- 面向对象程序设计上机练习六(类和对象)
- 如何将一个数组的地址作为函数的返回值!
- mysql nonInstall 版本的安装与配置
- 在spring中有三中实例化bean的方式