没有合适的资源?快使用搜索试试~ 我知道了~
计算无向图连通子图的个数
需积分: 50 31 下载量 152 浏览量
2018-09-05
09:02:50
上传
评论 4
收藏 935B TXT 举报
温馨提示
试读
3页
计算无向图的连通子图个数,使用dfs遍历,例如 Input : 5 1 2 1 3 1 4 2 5 Output: 1 Input: 5 1 3 1 4 2 5 3 4 Output: 2
资源推荐
资源详情
资源评论
#include <stdio.h>
#include <vector>
using namespace std;
const int maxn = 100010;
vector<int> G[maxn]; // 邻接表存储图
bool vis[maxn] = {false}; // 标记是否访问
void dfs(int v)
{
vis[v] = true;
for(int i = 0; i < G[v].size(); i++)
{
if(vis[G[v][i]] == false)
{
dfs(G[v][i]); // 如果该顶点未访问,深度遍历之
}
}
}
int main()
{
int n, a, b;
scanf("%d", &n);
for(int i = 1; i < n; i++) // n - 1条边
{
scanf("%d%d", &a, &b);
G[a].push_back(b);
#include <vector>
using namespace std;
const int maxn = 100010;
vector<int> G[maxn]; // 邻接表存储图
bool vis[maxn] = {false}; // 标记是否访问
void dfs(int v)
{
vis[v] = true;
for(int i = 0; i < G[v].size(); i++)
{
if(vis[G[v][i]] == false)
{
dfs(G[v][i]); // 如果该顶点未访问,深度遍历之
}
}
}
int main()
{
int n, a, b;
scanf("%d", &n);
for(int i = 1; i < n; i++) // n - 1条边
{
scanf("%d%d", &a, &b);
G[a].push_back(b);
资源评论
柠檬有点酸
- 粉丝: 36
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的在线宠物用品交易网站设计与实现源码
- 毕业设计-仿生六足机器人的制作全教程源码+电子元器件+程序代码+线路组件图+安装教程+搭建视频教程
- 基于ROS和webots的xrobot机械臂仿真初探C++源码
- 基于ROS的点焊机器人仿真与控制python源码+文档说明+使用说明+详细注释
- 基于vue实现的细粒度交通时空大数据分析系统+源代码+文档说明
- 安卓大作业-基于Electron的交通时空大数据分析挖掘系统客户端(Android)+源代码+文档说明+界面截图
- 基于Java的朱氏集团客户关系管理系统设计源码
- 基于C++的作业提交与批改系统设计源码
- 基于Vue2的移动端电影资讯网站设计源码
- 高分课程设计作业-基于QT的模仿宝石迷阵游戏C++源码+文档说明+界面截图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功