图论判环模板
2016-05-01 16:34
260 查看
#include <iostream> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <cstdio> #include <sstream> #include <vector> using namespace std; const int MAX = 1e5 + 5; int n, m, flag; vector<int> v[MAX]; int vis[MAX]; inline void file() { freopen("D:\\go.txt", "r", stdin); freopen("D:\\leave.txt", "w", stdout); } void dfs(int id, int fa) { if (vis[id]) { flag = 1; return ; } int lenth = v[id].size(); vis[id] = 1; for (int i = 0; i < lenth; ++i) { if (v[id][i] == fa) continue; dfs(v[id][i], id); } } int main() { //file(); scanf("%d%d", &n, &m); int f, t; while (m--) { scanf("%d%d", &f, &t); v[f].push_back(t); v[t].push_back(f); } int res = 0; for (int i = 1; i <= n; ++i) { flag = 0; if (vis[i] == 0) { dfs(i, -1); if (!flag) res++; } } printf("%d\n", res); return 0; }
相关文章推荐
- innerHTML、getElementsByName()、getElementsByTagName()
- Linux内核学习总结
- 说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)
- 链表结点的插入
- LightOJ 1341
- Chaikin细分曲线
- 用C语言写的注释转换
- 重载内核全程分析笔记
- 第二章 关系模型介绍
- 新手在windows7下安装ubuntu15.10
- 全国SHP地图数据赠送
- 移动开发入门指南
- 希尔排序(Shell)
- ZOJ - 3880 Demacia of the Ancients (水)
- Eclipse中 package 中创建新package 会分离的问题
- POJ 3352 Road Construction 边双联通分量
- Android 透明状态栏实现方案
- Struts2在开发中的一些异常总结(持续更新)
- latex 小结
- 内核中的内存申请:kmalloc、vmalloc、kzalloc、get_free_pages 之间的区别