• [NOI2007][BZOJ1491] 社交网络


    1491: [NOI2007]社交网络

    Time Limit: 10 Sec  Memory Limit: 64 MB
    Submit: 1086  Solved: 629
    [Submit][Status][Discuss]

    Description

    Input

    Output

    输出文件包括n 行,每行一个实数,精确到小数点后3 位。第i 行的实数表 示结点i 在社交网络中的重要程度。

    Sample Input

    4 4
    1 2 1
    2 3 1
    3 4 1
    4 1 1

    Sample Output

    1.000
    1.000
    1.000
    1.000

    HINT


    为1




    开始是用的整形,强制转换实型结果被精度卡掉了……
    n<=100,直接Floyd就好了,开一个数组记录两点间最短路条数(乘法原理)。
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<algorithm>
    #define INF 10000007
    using namespace std;
    int n,m,a,b;
    double c,v[101],dis[101][101],num[101][101];
    int main()
    {
        scanf("%d%d",&n,&m);
        for (int i=1;i<=n;i++)
            for (int j=1;j<=n;j++)
            {
                dis[i][j]=INF;
                num[i][j]=0;
            }
        for (int i=1;i<=m;i++)
        {
            scanf("%d%d%lf",&a,&b,&c);
            dis[a][b]=c;
            dis[b][a]=c;
            num[a][b]=1;
            num[b][a]=1;
        }
        for (int k=1;k<=n;k++)
            for (int i=1;i<=n;i++)
                for (int j=1;j<=n;j++)
                {
                    if (dis[i][j]>dis[i][k]+dis[k][j]) 
                    {
                        dis[i][j]=dis[i][k]+dis[k][j];
                        num[i][j]=0;
                    }
                    if (dis[i][j]==dis[i][k]+dis[k][j]) num[i][j]+=num[i][k]*num[k][j];
                }
        for (int i=1;i<=n;i++) num[i][i]=0;
        for (int k=1;k<=n;k++)
            for (int i=1;i<=n;i++)
                for (int j=1;j<=n;j++)
                    if (dis[i][k]+dis[k][j]==dis[i][j]&&num[i][j]!=0) v[k]+=num[i][k]*num[k][j]/num[i][j];
        for (int i=1;i<=n;i++) printf("%.3lf
    ",v[i]);
        return 0;
    }
  • 相关阅读:
    以流的形式将文件写入页面,直接下载
    多线程异步处理示例
    windows端口占用查看
    Spring MVC中默认的ResponseBody为String的乱码问
    inode安装
    uploadfy使用
    动态时间工具类
    常量设置
    项目配置热部署
    springboot异常:yml文件无法识别
  • 原文地址:https://www.cnblogs.com/ws-fqk/p/4647513.html
Copyright © 2020-2023  润新知