题意:奶牛拍一系列电影,n头牛拍m部电影,同一部电影种的搭档们距离为1,求最小距离?

思路:Floyd 图 最短路径

  1. 存图: 初始化图

    for (int i = 0; i <= n; i++)
    {
    for (int j = 0; j <= n; j++)
    f[i][j] = INF;
    f[i][i] = 0;
    }

  2. 存图:

    for (int i = 0; i < k; i++)
    {
    scanf("%d", &a[i]);
    for (int j = 0; j < i; j++)
    f[a[i]][a[j]] = f[a[j]][a[i]] = 1;
    }

  3. floyd算法:

    void floyd()
    {
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
    for (int k = 1; k <= n; k++)
    if (f[j][k] > (f[j][i] + f[i][k]))
    f[j][k] = f[j][i] + f[i][k];
    }   解释一下a[i][j]表示i到j的距离  a[i][k]+a[k][j]表示 i到k到j的距离

  4. 找到其中的一条最短路径即可

解决问题的代码:

#include <iostream>
#include <cstdio>
using namespace std;
#define INF 1<<29
#define maxn 305
int f[maxn][maxn];
int a[maxn];
int n, m;
void floyd()
{
for (int i = ; i <= n; i++)
for (int j = ; j <= n; j++)
for (int k = ; k <= n; k++)
if (f[j][k] > (f[j][i] + f[i][k]))
f[j][k] = f[j][i] + f[i][k];
}
int main()
{
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
f[i][j] = INF;
f[i][i] = ;
}
while (m--)
{
int k;
scanf("%d", &k);
for (int i = ; i < k; i++)
{
scanf("%d", &a[i]);
for (int j = ; j < i; j++)
f[a[i]][a[j]] = f[a[j]][a[i]] = ;
}
}
floyd();
int ans = INF;
for (int i = ; i <= n; i++)
{
int res = ;
for (int j = ; j <= n; j++)
res += f[i][j];
if (res < ans) ans = res;
}
printf("%d\n", ans * / (n - ));
}
return ;
}

poj 2139 奶牛拍电影问题 floyd算法的更多相关文章

  1. (poj 3660) Cow Contest (floyd算法+传递闭包)

    题目链接:http://poj.org/problem?id=3660 Description N ( ≤ N ≤ ) cows, conveniently numbered ..N, are par ...

  2. poj 3616 奶牛产奶问题 dp算法

    题意:奶牛产奶,农夫有m个时间段可以挤奶,在工作时间 f t 内产奶量为m,每次挤完奶后,奶牛需要休息R.问:怎么安排使得产奶量最大? 思路:区间dp  dp[i]表示第i个时段 对农夫工作的结束时间 ...

  3. POJ 2139 Six Degrees of Cowvin Bacon (弗洛伊德最短路)

    题意:奶牛拍电影,如果2个奶牛在同一场电影里演出,她们的合作度是1,如果ab合作,bc合作,ac的合作度为2,问哪一头牛到其他牛的合作度平均值最小再乘100 思路:floyd模板题 #include& ...

  4. 【POJ - 2139】Six Degrees of Cowvin Bacon (Floyd算法求最短路)

    Six Degrees of Cowvin Bacon Descriptions 数学课上,WNJXYK忽然发现人缘也是可以被量化的,我们用一个人到其他所有人的平均距离来量化计算. 在这里定义人与人的 ...

  5. ACM: POJ 3660 Cow Contest - Floyd算法

    链接 Cow Contest Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Descri ...

  6. [ACM_模拟] POJ 1094 Sorting It All Out (拓扑排序+Floyd算法 判断关系是否矛盾或统一)

    Description An ascending sorted sequence of distinct values is one in which some form of a less-than ...

  7. POJ 1502 MPI Maelstrom(模板题——Floyd算法)

    题目: BIT has recently taken delivery of their new supercomputer, a 32 processor Apollo Odyssey distri ...

  8. 【POJ - 2253】Frogger (Floyd算法)

    -->Frogger 中文翻译 Descriptions: 湖中有n块石头,编号从1到n,有两只青蛙,Bob在1号石头上,Alice在2号石头上,Bob想去看望Alice,但由于水很脏,他想避免 ...

  9. 【POJ - 3259】Wormholes(最短路 Floyd算法)

    Wormholes 题目描述 教学楼里有很多教室,这些教室由双向走廊连接.另外,还存在一些单向的秘密通道,通过它们可以回到过去.现在有 N (1 ≤ N ≤ 500) 个教室,编号 1..N, M ( ...

随机推荐

  1. SpringBoot | 第二十四章:日志管理之AOP统一日志

    前言 上一章节,介绍了目前开发中常见的log4j2及logback日志框架的整合知识.在很多时候,我们在开发一个系统时,不管出于何种考虑,比如是审计要求,或者防抵赖,还是保留操作痕迹的角度,一般都会有 ...

  2. Cucumber 步骤中传Data Table作为参数

    引用链接:http://cukes.info/step-definitions.html Data Tables Data Tables are handy for specifying a larg ...

  3. javascript获取滚动条位置(兼容所有浏览器)

    有两种方式来获取浏览器滚动条的位置 第一种:document.documentElement.scrollTop 第二种:$("body").scrollTop() 第一种方式能够 ...

  4. [Freemarker] 在Java中简单实现对Freemarker的引用

    Demo目录结构 ├─src │ ├─main │ │ ├─java │ │ │ └─demo │ │ │ └─freemarker │ │ │ ├─main │ │ │ │ Test.java │ ...

  5. [Freemarker] Getting Start

    Freemarker是一个模板引擎,在.NET中有类似的T4模板,FreeMarker对ASP.NET MVC也很友好,链接地址,引用官方的一幅图 模板+数据=视图 Following are the ...

  6. 使用腾讯IP分享计划网站中的纯JS省市区三级联动

    JS地址:http://ip.qq.com/js/geo.js 实例如下: <!DOCTYPE html> <html> <head> <title>省 ...

  7. Android list加载图片工具类

    总体思路 Handler + looper + message 核心类 package com.base.imagechoose.util; import android.graphics.Bitma ...

  8. python基础-数据运算

             *按位取反运算规则(按位取反再加1)   详解http://blog.csdn.net/wenxinwukui234/article/details/42119265  详细内容ht ...

  9. freebsd为网卡设置别名

    ifconfig em0 172.16.21.5 netmask 255.255.255.0 alias

  10. System Center Configuration Manager 2016 域准备篇(Part1)

    本系列指南如何从Microsoft安装最新的Configuration Manager基准版本.较新的可用基准版本System Center Configuration Manager(当前分支)版本 ...