“六度空间”理论又称作“六度分隔”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”假如给你一个社交网络图,请你对每个节点计算符合“六度空间”理论的结点占结点总数的百分比。 输入格式: 输入第1行给出两个正整数,分别表示社交网络图的结点数N(1<N≤103 ,表示人数)、边数M(≤33,表示社交关系数)。随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个结点的编号(节点从1到N编号)。 输出格式: 对每个结点输出与该结点距离不超过6的结点数占结点总数的百分比,精确到小数点后2位。每个结节点输出一行,格式为“结点编号:(空格)百分比%”。 例: 输入样例: 10 9 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 输出样例: 1: 70.00% 2: 80.00% 3: 90.00% 4: 100.00% 5: 100.00% 6: 100.00% 7: 100.00% 8: 90.00% 9: 80.00% 10: 70.00%。用C语言实现
时间: 2024-02-23 07:02:49 浏览: 154
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_N 1001 // 最大结点数
#define MAX_M 34 // 最大边数
int graph[MAX_N][MAX_N]; // 邻接矩阵存储图
int visited[MAX_N]; // 标记结点是否被访问过
int degrees[MAX_N]; // 存储每个结点的度数
int six_degrees[MAX_N]; // 存储符合“六度空间”理论的结点数
int n, m; // 结点数、边数
// DFS遍历图,统计每个结点的度数
void dfs(int v, int depth) {
visited[v] = 1;
degrees[v] += depth;
if (depth < 6) {
for (int i = 1; i <= n; ++i) {
if (graph[v][i] && !visited[i]) {
dfs(i, depth+1);
}
}
}
visited[v] = 0;
}
int main() {
memset(graph, 0, sizeof(graph));
memset(visited, 0, sizeof(visited));
memset(degrees, 0, sizeof(degrees));
memset(six_degrees, 0, sizeof(six_degrees));
// 读入结点数、边数
scanf("%d%d", &n, &m);
// 读入边信息
for (int i = 0; i < m; ++i) {
int u, v;
scanf("%d%d", &u, &v);
graph[u][v] = graph[v][u] = 1;
}
// 遍历每个结点,统计每个结点的度数
for (int i = 1; i <= n; ++i) {
memset(visited, 0, sizeof(visited));
dfs(i, 0);
}
// 统计符合“六度空间”理论的结点数
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
if (degrees[j] <= degrees[i]+6 && degrees[j] >= degrees[i]-6) {
six_degrees[i]++;
}
}
}
// 输出每个结点的百分比
for (int i = 1; i <= n; ++i) {
printf("%d: %.2f%%\n", i, six_degrees[i]*100.0/n);
}
return 0;
}
```
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![ppt](https://img-home.csdnimg.cn/images/20241231044937.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)