1 Star 0 Fork 0

雷正伟 / Leizw-blogs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
六度空间 1.00 KB
一键复制 编辑 原始数据 按行查看 历史
雷正伟 提交于 2021-07-08 07:23 . add 六度空间.
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<queue>
#define maxv 10001
using namespace std;
int n, e;
int visited[maxv];
int edgex[maxv][maxv];
int BFS(int v);
int main()
{
int i, j;
cin >> n >> e;
int no1, no2;
int node;
double result;
for (i = 1;i <= e;i++)
{
cin >> no1 >> no2;
edgex[no1][no2] = 1;
edgex[no2][no1] = 1;
}
for (i = 1;i <= n;i++)
{
for (j = 1;j <= n;j++)
visited[j] = 0;
node = BFS(i);
result = 100.00 * node / n;
printf("%d:%.2lf%%\n", i, result);
}
return 0;
}
int BFS(int v)
{
int level = 0;
int count = 1;
int last = v;
int tail, temp;
int i;
queue<int>qu;
qu.push(v);
visited[v] = 1;
while (!qu.empty() && level < 6)
{
temp = qu.front();
qu.pop();
for (i = 1;i <= n;i++)
{
if (visited[i] == 0 && edgex[temp][i] == 1)
{
count++;
qu.push(i);
visited[i] = 1;
tail = i;
}
}
if (last == temp)
{
level++;
last = tail;
}
}
return count;
}
C++
1
https://gitee.com/lei-zhengwei/leizw-blogs.git
git@gitee.com:lei-zhengwei/leizw-blogs.git
lei-zhengwei
leizw-blogs
Leizw-blogs
master

搜索帮助