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

看到数据范围,显然Floyd
map[i][j]表示i-->j的最短路,a[i][j]表示表示从i到j最短路的方案数,在改变最短路时该数组清零
 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 const int N=110,inf=1000000000;
 5 double a[N][N];
 6 int n,m,u,v;
 7 double ans[N],map[N][N],w;
 8 int main(){
 9     scanf("%d%d",&n,&m);
10     for(int i=1;i<=n;i++)
11         for(int j=1;j<=n;j++) map[i][j]=(inf+0.0);
12     for(int i=1;i<=m;i++){
13         scanf("%d%d%lf",&u,&v,&w);
14         map[u][v]=map[v][u]=(w+0.0);
15         a[u][v]=a[v][u]=1;
16     }
17     for(int k=1;k<=n;k++)
18         for(int i=1;i<=n;i++)
19             for(int j=1;j<=n;j++){
20                 if (map[i][j]>map[i][k]+map[k][j])map[i][j]=map[i][k]+map[k][j],a[i][j]=0;;
21                 if (map[i][j]==(map[i][k]+map[k][j])) a[i][j]+=a[i][k]*a[k][j];
22             }
23      for(int i=1;i<=n;i++)a[i][i]=0;
24     for(int k=1;k<=n;k++)
25         for(int i=1;i<=n;i++)
26             for(int j=1;j<=n;j++){
27                 if (map[i][j]==(map[i][k]+map[k][j])&&a[i][j]>0)
28                 ans[k]+=a[i][k]*a[k][j]/(a[i][j]+0.0);
29             }
30     for(int i=1;i<=n;i++) printf("%.3lf\n",ans[i]);
31 }

转载于:https://www.cnblogs.com/wuminyan/p/5202605.html

【BZOJ 1491】 [NOI2007]社交网络相关推荐

  1. BZOJ 1491: [NOI2007]社交网络( floyd )

    floyd...求最短路时顺便求出路径数. 时间复杂度O(N^3) ------------------------------------------------------------------ ...

  2. bzoj 1491: [NOI2007]社交网络

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

  3. 1491: [NOI2007]社交网络

    1491: [NOI2007]社交网络 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 881  Solved: 518 [Submit][Status ...

  4. 1491. [NOI2007]社交网络【最短路计数】

    Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题. 在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这 ...

  5. bzoj1491: [NOI2007]社交网络

    跑一跑floyed就可以了.然后因为if(dis>dis+dis)后面跟着的是if(dis==dis+dis)然后计算的方案数一直多了...应该是else ifwoc #include<c ...

  6. BZOJ1491: [NOI2007]社交网络(Floyd 最短路计数)

    Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2343  Solved: 1266 [Submit][Status][Discuss] Descrip ...

  7. [NOI2007]社交网络

    题目描述 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系.我 们将这个关系网络对 ...

  8. BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]

    传送门 题意:不想写... 扔链接就跑 好吧我回来了 首先发现每次兑换一定是全部兑换,因为你兑换说明有利可图,是为了后面的某一天两种卷的汇率差别明显而兑换 那么一定拿全利啊,一定比多天的组合好 $f[ ...

  9. 斜率优化(CDQ分治,Splay平衡树):BZOJ 1492: [NOI2007]货币兑换Cash

    Description Input 第一行两个正整数N.S,分别表示小Y 能预知的天数以及初始时拥有的钱数. 接下来N 行,第K 行三个实数AK.BK.RateK,意义如题目中所述 Output 只有 ...

  10. bzoj 1492: [NOI2007]货币兑换Cash

    Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下 简称B券).每个持有金券的顾客都有一个自己的帐户.金券的数目可以是一个 ...

最新文章

  1. 系统服务器端口怎么关闭了,如何关闭云服务器端口号
  2. ruby简单的基础 4
  3. 解析Linux 多应用程序docker自动部署脚本
  4. MATLAB禁用!!MATLAB教程对高校全免费!!
  5. Linux中如何运行.AppImage文件
  6. 使用encodeURl()进行编解码
  7. Java-static-静态方法/全局方法
  8. Oracle日期和时间总结
  9. Spring MVC-表单(Form)标签-单选按钮(RadioButton)示例(转载实践)
  10. 把变量赋值给寄存器_阻塞赋值和非阻塞赋值的区别与记忆
  11. switch 是如何支持 String 的?为什么不支持 long?
  12. VirtualBox中,LINUX与Windows可以通过链接来跳转
  13. L1-02-yum源的配置(本地源)
  14. 动态库的隐式链接和显示链接
  15. SkeyePlayer RTSP/RTMP低延迟播放器源码解析系列之效率优化方案
  16. 电子商务概论(农)之形考作业三
  17. html页面怎么放swf,如何在HTML页面中嵌入SWF文件?
  18. RuntimeError: Exporting the operator prim_DictConstruct to ONNX opset version 11 is not supported.
  19. 如何把Win7系统桌面上的内容保存在非系统盘
  20. 2007年五一通过了驾驶证考试(5/7,5/8)

热门文章

  1. Android 5.1 memory leak,Android 性能优化之使用MAT分析内存泄露问题
  2. mes选型与实施指南_六大类型MES企业大盘点告诉你如何选择正确选择MES
  3. memcached mysql 类_mysql有没有类似和memcached里那样的CAS版本控制?
  4. python-gui-pyqt5的使用方法-5--为类增加信号
  5. c语言编程帐薄结算,用C++语言设计个人帐薄管理系统最终版(备份存档)
  6. serve注解是加在哪个类_PHP 8新特性之Attributes(注解)
  7. python中循环语句有哪几种_Python的循环语句
  8. mysql5.7应该导什么包_烘焙知识 | 不同的蛋糕,应该如何完美脱模?
  9. java mavenpom_java-使用pom-packaging Maven项目作为依赖项
  10. 【翻译】CodeMix使用教程(四):调试