文章
26
粉丝
407
获赞
0
访问
333.9k
度受限的最小生成树:
给定一张N个点,M个边的无向图,求出无向图的一颗最小生成树,但是我们要求一号节点的入度不可以超过给定的整数S
也就是一个最小生成树,要求它的一号节点,最多只能和S个节点相连.
——————————————————————————————————————————————————————————
(1)将一个无向图去掉根节点(编号为1)后得到的连通块:
bool vis[dot_num] = { false };//记录每个节点加入连通块的情况
int cnt = 0;//连通块的数量
for (int i = 1; i <= dot_num; i++){
if (!vis[i]){
cnt++;
vis[i] = cnt;
dfs(i);
}
}
void dfs(int x){
for (int j = 2; j <= dot_num; j++){
if (G[x][j] && !vis[j]){
vis[j] = cnt;
dfs(j);
}
}
}
-------------------------------------------------------------------------------------
#include<iostream>
#include&l...
登录后发布评论
暂无评论,来抢沙发