题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3560

思路:dfs判环,这里成环的条件是环中的每个点的出度和入度都为1,因此dfs的时候只须判断的相连的每个点的size()==2即可。

ps:为防暴栈手动开栈:#pragma comment(linker,"/STACk:10240000,10240000")

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<vector>
 6 using namespace std;
 7 #define MAXN 100100
 8 #pragma comment(linker,"/STACk:10240000,10240000")
 9 vector<int>map[MAXN];
10 bool mark[MAXN];
11 int n,m,cnt1,cnt2;
12 bool flag;
13
14 void dfs(int u){
15    mark[u]=true;
16    if(map[u].size()!=2)flag=false;
17    for(int i=0;i<map[u].size();i++){
18       int v=map[u][i];
19       if(!mark[v])dfs(v);
20    }
21 }
22
23 int main(){
24    int u,v;
25    while(~scanf("%d%d",&n,&m)&&(m+n)){
26       cnt1=cnt2=0;
27       for(int i=0;i<n;i++)map[i].clear();
28       for(int i=1;i<=m;i++){
29          scanf("%d%d",&u,&v);
30          map[u].push_back(v);
31          map[v].push_back(u);
32       }
33       memset(mark,false,sizeof(mark));
34       for(int i=0;i<n;i++){
35          flag=true;
36          if(!mark[i]){ dfs(i);cnt1++;if(flag)cnt2++; }
37       }
38       printf("%d %d\n",cnt1,cnt2);
39    }
40    return 0;
41 }

View Code

hdu 3560(dfs判环)相关推荐

  1. Codeforces Round #836 (Div. 2) E.Tick, Tock(在线:带权并查集/离线:dfs判环)

    题目 n*m(1<=n,m<=2e5,n*m<=2e5)的网格图, 有一些格子内已经放入了闹钟,当前时刻在[0,h)(1<=h<=1e9)之间 还有一些位置没有放闹钟,输 ...

  2. hdu 1625(floyd判环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1625. 思路:大牛说是floyd判环,一想确实如此,我还一直在想如果用记忆化的怎么处理环呢...orz ...

  3. [Noi2008]假面舞会(dfs判环)

    [Noi2008]假面舞会 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具 ...

  4. POJ 3621 Sightseeing Cows(最优比率环+spfa的dfs判环优化)

    题目链接 题目大意:给你一个有向图,每个点都有一个权值,每条边都有一个长度,需要找到一个各点权值和/各边长度和 最大的环出来,输出这个比值. 分析:假设结点权值为wiw_iwi​,边的长度为lil_i ...

  5. 紫书搜索 习题7-4 UVA - 818 Cutting Chains 暴力+dfs判环+位运算

    题目链接: https://vjudge.net/problem/UVA-818 题意: 选几个圆环去open.然后该圆环和其他就断开了.然后用这些open的圆环去连接剩下的圆环[最后打开的会合上], ...

  6. [BZOJ]1064 [NOI2008] 假面舞会 dfs判环

    1064: [Noi2008]假面舞会 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2160  Solved: 1047 [Submit][Sta ...

  7. Ice_cream's world I HDU - 2120(并查集判环)

    题意:问给出的望塔之间的建造了围墙,将土地分成了几份 思路:用并查集判环,若有围墙相接的瞭望塔,有相同的父根,则存在环 ice_cream's world is a rich country, it ...

  8. HDU 1217 Arbitrage (Floyd + SPFA判环)

    题目链接:HDU 1217 Arbitrage 简单的货币转换问题,给定多种货币,以及货币之间的汇率,问能否通过货币的转换实现收益. 例如: 1 US Dollar buys 0.5 British ...

  9. HDUOJ--4888--Redraw Beautiful Drawings【isap】网络流+判环

    链接:http://acm.hdu.edu.cn/showproblem.php? pid=4888 题意:一个矩阵.限定每行行和.列和,每一个格子数字不超过k,问矩阵是否存在,如存在推断有单解还是多 ...

最新文章

  1. caffe实现多任务学习
  2. 「模型解读」从“局部连接”回到“全连接”的神经网络
  3. LOJ#6048. 「雅礼集训 2017 Day10」数列(线段树)
  4. mysql 随机update_MySQL随机查询数据与随机更新数据
  5. 筒灯智能驱动芯片作用_魅族发布Lipro智能吸顶灯与地脚灯 解决生活照明两大痛点...
  6. python作用域——LEGB规则
  7. typecho运行html插件,typecho主题集成HTML压缩功能
  8. 解决办法:VirtualBox只能安装32位的问题
  9. 网络安全学习--WEB服务器
  10. 运营进阶:打造好文案的万能公式
  11. 系统架构设计师考试学习目录
  12. pbootcms模板,pbootcms模板程序,pboot响应式模板
  13. DNS与GTM协同工作原理
  14. 万年历(hao123)代码
  15. 一个复杂注塑件抽取中面一般操作
  16. 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表
  17. Python Pcan USB通信(基于PcanBus)
  18. 进销存设计与分析_库存明细表(14)
  19. win7锁屏背景壁纸修改
  20. java实现读取文件返回字节数组

热门文章

  1. Visual Studio新建的源文件的默认编码
  2. Exchange 2013SP1和O365混合部署系列二
  3. LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
  4. git log格式化日志
  5. Ubuntu 14.04 设置VNC
  6. WordPress Shortcode(简码)介绍及使用详解
  7. Java 用DBCP连接数据库。
  8. H3C交换机S5500策略路由配置
  9. 用户权限管理shiro
  10. 开源的数据可视化JavaScript图表库:ECharts