POJ 2139 Six Degrees of Cowvin Bacon(任意两点最短路,Floyd)
2014-04-06 17:38
417 查看
题目:http://poj.org/problem?id=2139
题意:奶牛们最近要拍电影了(ACM真是各种奶牛。。。)
1、若两个的奶牛一起工作则,他们相互的度(degrees)为1;
2、若两只奶牛a、b不一起工作,但与另有一只奶牛都和他们工作,则a、b的相互的度为2。
求奶牛的与其他奶牛的度的平均值的一百倍的整数。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
const int maxn = 310,maxm = 10010,INF = 0x3f3f3f3f;
int d[maxn][maxn],t[maxm];
int N, M;
void floyd()
{
for(int k = 1; k <= N; k++)
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
d[i][j] = min(d[i][j], d[i][k]+d[k][j]);
}
int main()
{
while(scanf("%d%d", &N, &M) != EOF)
{
memset(d, 0x3f, sizeof(d));
int n;
for(int j = 0; j < M; j++)
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &t[i]);
for(int i = 0; i < n; i++)
for(int j = i+1; j < n; j++)
{
d[t[i]][t[j]] = 1;
d[t[j]][t[i]] = 1;
}
}
floyd();
int ans = INF;
for(int i = 1; i <= N; i++)
{
int sum = 0;
for(int j = 1; j <= N; j++)
if(i != j)
sum += d[i][j];
ans = min(ans, sum);
}
printf("%d\n", ans*100/(N-1));
}
return 0;
}
题意:奶牛们最近要拍电影了(ACM真是各种奶牛。。。)
1、若两个的奶牛一起工作则,他们相互的度(degrees)为1;
2、若两只奶牛a、b不一起工作,但与另有一只奶牛都和他们工作,则a、b的相互的度为2。
求奶牛的与其他奶牛的度的平均值的一百倍的整数。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
const int maxn = 310,maxm = 10010,INF = 0x3f3f3f3f;
int d[maxn][maxn],t[maxm];
int N, M;
void floyd()
{
for(int k = 1; k <= N; k++)
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
d[i][j] = min(d[i][j], d[i][k]+d[k][j]);
}
int main()
{
while(scanf("%d%d", &N, &M) != EOF)
{
memset(d, 0x3f, sizeof(d));
int n;
for(int j = 0; j < M; j++)
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &t[i]);
for(int i = 0; i < n; i++)
for(int j = i+1; j < n; j++)
{
d[t[i]][t[j]] = 1;
d[t[j]][t[i]] = 1;
}
}
floyd();
int ans = INF;
for(int i = 1; i <= N; i++)
{
int sum = 0;
for(int j = 1; j <= N; j++)
if(i != j)
sum += d[i][j];
ans = min(ans, sum);
}
printf("%d\n", ans*100/(N-1));
}
return 0;
}
相关文章推荐
- POJ - 2139 Six Degrees of Cowvin Bacon(任意两点最短路,Floyd)
- 任意两点间最短距离floyd-warshall ---- POJ 2139 Six Degrees of Cowvin Bacon
- AOJ -0189 Convenient Location && poj 2139 Six Degrees of Cowvin Bacon (floyed求任意两点间的最短路)
- poj 2139 Six Degrees of Cowvin Bacon 图论 Floyd最短路
- POJ 2139 Six Degrees of Cowvin Bacon(floyd两点间最短距离)
- POJ 2139-Six Degrees of Cowvin Bacon(最短路Floyd)
- Six Degrees of Cowvin Bacon POJ - 2139 (floyd求最短路)
- A - Six Degrees of Cowvin Bacon POJ - 2139 最短路Floyd
- Six Degrees of Cowvin Bacon (poj 2139 最短路Floyd)
- POJ 2139 - Six Degrees of Cowvin Bacon(floyd)
- [POJ](2139)Six Degrees of Cowvin Bacon ---- 最短路径算法(Floyd)
- Poj 2139 Six Degrees of Cowvin Bacon【floyd】
- POJ 2139 Six Degrees of Cowvin Bacon (Floyd)
- warshall-floyd算法:POJ No 2139 Six Degress of Cowvin Bacon(任意两点最短路径))
- 【图论floyd】 poj 2139 Six Degrees of Cowvin Bacon
- POJ2139 Six Degrees of Cowvin Bacon [Floyd]
- POJ 2139 Six Degrees of Cowvin Bacon (floyd)
- POJ 2139 Six Degrees of Cowvin Bacon【floyd】
- poj 2139 Six Degrees of Cowvin Bacon 最短路
- POJ_2139_Six Degrees of Cowvin Bacon【Floyd】