您的位置:首页 > 其它

poj之旅——2139

2016-05-27 12:45 253 查看
题目描述:N头牛,拍了M部电影,同一部电影中的搭档们距离1,求最小度数之和

题解:floyd。

参考程序:#include<cstdio>
#include<algorithm>
#include<cstring>
#define maxn 500
using namespace std;
int d[maxn][maxn];
int x[maxn];
int main(){
int V,M;
scanf("%d %d",&V,&M);
memset(d,0x3f,sizeof(d));
for (int i=0;i<V;i++)d[i][i]=0;
while (M--){
int n;
scanf("%d",&n);
for (int i=0;i<n;i++){
scanf("%d",&x[i]);
x[i]--;
}
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
d[x[i]][x[j]]=d[x[j]][x[i]]=1;
}
}
}
for (int k=0;k<V;k++)
for (int i=0;i<V;i++)
for (int j=0;j<V;j++)
d[i][j]=min(d[i][k]+d[k][j],d[i][j]);
int ans=0x3f3f3f3f;
for (int i=0;i<V;i++){
int sum=0;
for (int j=0;j<V;sum+=d[i][j],j++);
ans=min(ans,sum);
}
printf("%d",100*ans/(V-1));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: