社交网络图中结点的“重要性”计算(使用Dijkstra算法)
发布日期:2021-05-06 03:53:58 浏览次数:15 分类:技术文章

本文共 768 字,大约阅读时间需要 2 分钟。

社交网络图中结点的“重要性”计算

题目

在这里插入图片描述

在这里插入图片描述

答案

#include
#include
using namespace std;#define inf 0x3f3f3f3fint map[1001][1001],dis[1001],vis[1001];int n,m;void init(){ memset(map,inf,sizeof(map)); cin>>n>>m; for(int i=1;i<=n;i++) { map[i][i]=0; } while(m--) { int x,y; cin>>x>>y; map[x][y]=map[y][x]=1; }}//更新vis void Prim(int root){ for(int i=1;i<=n;i++) dis[i]=map[root][i]; vis[root]=1; int min,pos,t=n; while(t--) { min=inf,pos=-1; for(int i=1;i<=n;i++) { if(!vis[i]&&dis[i]
>N; int a[N],tmp; for(int i=0;i
>tmp; memset(vis,0,sizeof(vis)); Prim(tmp); float sum=0; for(int j=1;j<=n;j++) { sum+=dis[j]; } printf("Cc(%d)=%.2f\n",tmp,(n-1)/sum); } }

注意

这道题不要被题目中的10000骗了,在声明数组时设为1001就可以,否则会内存超限

上一篇:关键活动(注释超详细!!!)
下一篇:城市间紧急救援(dijkstra算法)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月02日 19时03分22秒