CF #80 Cthulhu
来源:互联网 发布:xml json 比较 编辑:程序博客网 时间:2024/06/04 08:50
题目意思实际上是指,对给定的一个无向图,判断它是否有一个环,并且缩点后和剩下的结点可以构成一棵树。
用dfs即可解决,不必求双连通分量。dfs该图的时候记录环的个数loop,一个环的时候为loop=2,因为环的起点处会左右各dfs一次,从而多统计了一次环,具体看代码吧。
#include<cstdio>#include<cstring>#include<iostream>#include<utility>#include<string>#include<set>#include<vector>#include<stack>#include<algorithm>#include<queue>#include<cstdlib>#include<map>#include<cmath>using namespace std;const int M=300;const double eps=1e-6;vector<int> tree[M];bool vis[M];int loop;int n,m;void dfs(int node,int from){if(vis[node]){++loop;return ;}vis[node]=1;for(int i=0;i<tree[node].size();i++){if(loop>2) return;if(tree[node][i]!=from)dfs(tree[node][i],node);}}int main(){while(scanf("%d%d",&n,&m)==2){int a,b;loop=0;for(int i=0;i<m;i++){scanf("%d%d",&a,&b);tree[a].push_back(b);tree[b].push_back(a);vis[i+1]=false;}dfs(1,-1);if(loop==2){bool flag=true;for(int i=1;i<=n;i++)if(!vis[i]){flag=false;break;}if(flag)printf("FHTAGN!\n");elseprintf("NO\n");}else{printf("NO\n");}}return 0;}
- CF #80 Cthulhu
- 【dfs找环】Codeforces Beta Round #80 (Div. 1 Only)——B. Cthulhu
- Codeforces 103B Cthulhu
- codeforces Cthulhu 简单图论
- Codeforces 103B. Cthulhu 寻找奈亚子
- CF103B:Cthulhu(并查集)
- CF
- CF
- cf
- cf
- CF
- CF
- CF
- CF
- CF
- CF
- cf
- CF
- Ruby on rails开发从头来(windows)(二十)-测试model(CRUD)
- Ruby on rails开发从头来(windows)(十九)-测试开始
- SecureCRT 退出全屏
- Ruby on rails开发从头来(windows)(十八)-自动生成文档
- ORACLE删除与增加临时表空间方法:
- CF #80 Cthulhu
- SQL Server 2005 系统数据库--及其还原的方法
- Android邮件附件中文名乱码问题草解
- Ruby on rails开发从头来(windows)(十七)-控制访问权限
- 区别醋的好坏
- MFC判断网络文件是否存在
- Ruby on rails开发从头来(windows)(十六)-登录
- 喝豆浆的八种禁忌
- 推荐给大家一篇文章,不多说什么