• POJ 2039 Floyd


    句意理解题
    解释输入好啦:
    第一行n个数 m场电影
    随后m行 每行的第一个数 代表 有k奶牛在这个电影中出现过
    随后k个数 是奶牛的编号

    如果两头奶牛在同一个电影中出现过 相互度为1
    奶牛们的相互度可以累加 (这句话的意思是 :请用Floyd解此题)

    输出最少的一头奶牛的相互度之和 *100/(n-1)

    //By SiriusRen
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    int map[666][666],s[666],jy,n,m,sum[666],minn=0x3fffffff;
    int main(){
        memset(map,0x3f,sizeof(map));
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)map[i][i]=0;
        for(int i=1;i<=m;i++){
            scanf("%d",&jy);
            for(int j=1;j<=jy;j++)scanf("%d",&s[j]);
            for(int i=1;i<=jy;i++)for(int j=i+1;j<=jy;j++)map[s[i]][s[j]]=map[s[j]][s[i]]=1;
        }
        for(int k=1;k<=n;k++){
            for(int i=1;i<=n;i++){
                for(int j=1;j<=n;j++){
                    map[i][j]=min(map[i][j],map[i][k]+map[k][j]);
                }
            }
        }
        for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)sum[i]+=map[i][j];
        for(int i=1;i<=n;i++)minn=min(minn,sum[i]);
        printf("%d
    ",minn*100/(n-1));
    }

    这里写图片描述

  • 相关阅读:
    22 有序化模块
    21模块
    Day20 继承
    Day19 约束
    面向对象 成员
    面向对象01
    内置函数、匿名函数、递归、二分法
    生成器函数 推导式
    Unity3D 实现方块跑酷
    day30-2018-12-3-进程
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532188.html
Copyright © 2020-2023  润新知