国内高清视频素材网站推荐企业网站首页开发
news/
2025/9/22 17:18:12/
文章来源:
国内高清视频素材网站推荐,企业网站首页开发,交互ui培训,网站建设报告书范文题目
水题系列。给出一个图#xff0c;求他的连通分量。 科普#xff1a;连通分量就是一个图中可以连接最多点的子图#xff08;可以是它本身#xff09;的点数量。
输入
5(点的数量) 1 2(表示1和2连通) 3 4 2 3 0 0(表示停止输入)
输出
4 解题思路
Er…这道题没…题目
水题系列。给出一个图求他的连通分量。 科普连通分量就是一个图中可以连接最多点的子图可以是它本身的点数量。
输入
5(点的数量) 1 2(表示1和2连通) 3 4 2 3 0 0(表示停止输入)
输出
4 解题思路
Er…这道题没什么难度反正两种做法dfs,bfs都贴出来。 dfs代码
#includecstdio
#includeiostream
using namespace std;
int walk[101],a[101][101],x,y,maxs,n;
int s;
int dfs(int x)
{s;//表示搜到的点数加walk[x]true;//封上for (int i1;in;i){if (a[i][x] !walk[i]){dfs(i);//搜索}}
}
int main()
{scanf(%d,n);while (true){scanf(%d%d,x,y);if (x0 y0) break;a[x][y]true;a[y][x]true;}for (int i1;in;i)if (!walk[i]) {s0;dfs(i);maxsmax(maxs,s);}//搜出一个子图printf(%d,maxs);
} bfs代码(不解释)
#includecstdio
#includeiostream
using namespace std;
int walk[101],a[101][101],state[101],x,y,maxs,n;
int head,tail;
int bfs(int x)
{state[1]x;walk[x]true;head0;tail1;do{head;xstate[head];for (int i1;in;i){if (!walk[i] a[x][i]){tail;state[tail]i;walk[i]true;}}}while (headtail);maxsmax(maxs,tail);
}
int main()
{scanf(%d,n);while (true){scanf(%d%d,x,y);if (x0 y0) break;a[x][y]true;a[y][x]true;}for (int i1;in;i)if (!walk[i]) bfs(i);printf(%d,maxs);
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909779.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!