zoukankan      html  css  js  c++  java
  • 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));
    }

    这里写图片描述

  • 相关阅读:
    github的使用
    QPalette的用法
    QTimer的用法
    QStatusBar的用法
    QWhatsThis的用法
    QString::​arg的用法
    qt中ui的 使用介绍
    安全协议IPSEC
    安全协议ssl
    对称加密和非对称加密
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532188.html
Copyright © 2011-2022 走看看