C/B
来源:互联网 发布:亲密关系 知乎 编辑:程序博客网 时间:2024/04/26 03:45
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.
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.
* 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.
* 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.
* Line 1: A single integer that is 100 times the shortest mean degree of separation of any of the cows.
4 23 1 2 32 3 4
100
牛与牛
#include <iostream>#include<cstring>using namespace std;const double INF=0x3f3f3f;const int maxn=305;int dis[maxn];int vis[maxn];int map[maxn][maxn];int m,n;int a[maxn];void dii(int x){ for(int i=1;i<=n;i++) dis[i]=INF; for(int i=1;i<=n;i++) dis[i]=map[x][i]; vis[x]=1; for(int i=2;i<=n;i++) { int next=0,min=INF; for(int j=1;j<=n;j++) { if(!vis[j]&&min>dis[j]) {next=j; min=dis[j]; } } vis[next]=1; for(int j=1;j<=n;j++) { if(!vis[j]&&dis[j]>map[next][j]+dis[next]) dis[j]=map[next][j]+dis[next]; } }}int main(){ cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) map[i][j]=INF; while(m--) { int num; cin>>num; for(int i=0;i<num;i++) cin>>a[i]; for(int i=0;i<num;i++) for(int j=i+1;j<num;j++) { if(a[i]!=a[j]) map[a[i]][a[j]]=map[a[j]][a[i]]=1; } } double ans=INF; for(int i=1;i<=n;i++) { double sum=0; memset(vis,0,sizeof(vis)); dii(i); for(int j=1;j<=n;++j)//记录到其他牛的度数之和{if(i!=j)sum+=dis[j];}ans=min(ans,sum*1.0/(n-1)); }cout<<((int)(ans*100))<<endl; return 0;}
0 0
- b、c
- C/B
- SQL a>b?a:b, b>c?b:c
- (a^b)%c和(a/b)%c
- b/s ,c/s
- B/C Recorder
- A^B mod C
- B/S,C/S
- b+(c+x)<<s
- A^B%C
- B/S C/S
- A^B mod C
- c = ( (++a) + (b++) );
- b/s c/s
- C section 1.1 b
- c + +B阶段学习
- A+B+C
- a^b%c
- 微擎安装
- poj-1716【贪心】
- 【九度OJ】题目1179:阶乘 解题报告
- HTTP协议概览
- 3.3 组合变换
- C/B
- Python代码模块热更新机制实现(reload)
- 数据库字段是逗号分隔字符串,传入值是字符串list,判断二者是否有交集
- 高性能MySQL
- 成为linux运维工程师第一步
- Map的遍历方式
- JAVA面试题04-HashMap的实现
- Python3 cookbook学习笔记-数据结构与算法4
- BZOJ4236: JOIOJI