找圈圈 (BFS简单运用)
题目位置
题目大意是给一个无向连通图,找其中有几个标准的圈。
所谓标准的圈,就是一个圈外不能有其他线段和环。那么其中每个点都只有两条边
我的方法是用bfs将连通的一组点放入一个队列中,如果这些点都只有两条边,那么这些点形成一个圈;如果其中有一个点的边数!=2,那么这些点没有形成圈。
#include <iostream> #include <stdio.h> using namespace std; int n,m,head[1000010],zz=0,vis[1000010],edge[1000010],que[1000010]; struct HAHA{int v,next; }list[2000010];void connect(int u,int v) {zz++;list[zz].v=v;list[zz].next=head[u];head[u]=zz;edge[u]++; }int bfs(int start) {int hz=1,tz=1;que[hz]=start;vis[start]=1;while(hz<=tz){int now=que[hz];for(int i=head[now];i;i=list[i].next){int v=list[i].v;if(vis[v]) continue;tz++;vis[v]=1;que[tz]=v;}hz++;}for(int i=1;i<=tz;i++){if(edge[que[i]]!=2) return 0;}return 1; }int main() {scanf("%d%d",&n,&m);int d1,d2;for(int i=1;i<=m;i++){scanf("%d%d",&d1,&d2);connect(d1,d2);connect(d2,d1);}int ans=0;for(int i=1;i<=n;i++){if(!vis[i]) ans+=bfs(i);}cout<<ans<<endl;return 0; }
转载于:https://www.cnblogs.com/BakaCirno/p/10507448.html
找圈圈 (BFS简单运用)相关推荐
- BFS简单搜索--POJ 2243
这题就是简单的BFS搜索,刚刚转到C++,还有很多库函数不熟悉,理解到BFS是一种奇妙的迭代法,其用的主要是队列的性质. 1 /*BFS简单搜索*/ 2 #include<iostream> ...
- 魔兽世界不同服务器集合石显示的内容,魔兽世界集合石插件屏蔽关键字分享,这下找队伍就简单了...
原标题:魔兽世界集合石插件屏蔽关键字分享,这下找队伍就简单了 在魔兽世界里,用集合石插件来寻找队伍和队友是非常方便的.不过如今的集合石上面的广告比较多,不屏蔽一些关键词的话,玩家们只能在广告的夹缝里寻 ...
- python求小数_python-查找小数位的简单方法
python-查找小数位的简单方法 是否有简单的方法或集成函数来找出浮点数的小数位? 该数字是从字符串中解析出来的,因此一种方法是对"."之后的数字进行计数. 标志,但是对我来说看 ...
- DFS BFS简单理解
文章目录 BFS DFS介绍 实现思路 DFS BFS怎么应用 DFS BFS对比 又水了一篇博客呜呜,第一次尝试写DFS和BFS,做题也迷迷糊糊,看着大佬文章简单写了写总结,后续会补上DFS和BFS ...
- SDUTOJ2779_找朋友(BFS | | DFS双解法)
找朋友 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description X,作为户外运动的忠实爱好者, ...
- 仿链家地图找房的简单实现 1
本篇目录: 使用入门 简单使用流程 链家地图找房效果 区域点位气泡 数据结构 实现 addOverlay方法 区域边界 获取区域点位经纬度 获取区域边界 小结 最近由于项目需要,开始调研如何使用百度地 ...
- C语言——找零钱、简单加减、身高换算
找零钱程序 要求输入金额,输出找零金额. int main() {int amount=100;int price=0;printf("请输入需付金额(元):");scanf(&q ...
- 坦克大战(bfs简单变形)
坦克大战 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 Many of us had played the game "Battle city" i ...
- 实现超市收银找零的简单程序
初学c语言程序与设计的第一个课堂作业 实现简单的"收银","找零"程序 帮助快速理解c语言初期的代码理解问题 建议再自己动手的情况下多练习,熟悉代码编辑的逻辑 ...
最新文章
- 如何让黑白图片恢复“生机”
- 浙大超重力离心模拟与实验装置有望年底开建 释放五大利好
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
- 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter
- [BUUCTF-pwn]——wustctf2020_getshell
- 通俗易懂的讲解堆排序(含Gif图)
- 监听router_深入揭秘前端路由本质,手写 mini-router
- VS2008SP1中jQuery Intellisense补丁KB958502安装失败的解决办法
- 一名计算机专业新生代农民工的五年求学之路,从“低谷”到“山峰”
- box-shadow用法;http://riny.net/lab/css3/box-shadow.html
- 网易云计算机系统有限公司,网易云音乐
- 人工智能在日常农业种植中的应用
- Java | Comparable接口和Comparator接口比较
- 已经过去2周了,你感觉怎么样?
- kafka connector使用(Docker一键启动版)
- 5个拍出可爱宝宝的方法
- 酷雷曼VR丨十大“高含金量”荣誉,一起见证!
- mi4a android tv,小米电视4A精简系统教程
- 技术汇总:第七章:三种验证方式
- 柴油闪点不合格的原因
热门文章
- kubectl 重启pod_记一次kyverno重启解决
- mac os vmware 显卡驱动_【新机】华为Mate 40系列国行售价明天公布,饿了么可以买手机?| 干翻牙膏厂,AMD发布RX6000显卡...
- 随着计算机多媒体技术的产生和发展,多媒体技术及其应用与发展论文(本科)10...
- c语言实现补码加减,C语言实现用位移运算符进行加减乘…
- 光遇自动弹琴脚本代码_光遇弹琴辅助软件下载-光遇自动弹琴脚本代码下载v1.0_86PS软件园...
- linux命令之nc,emacs,go run,查看文件行数等
- 【金三银四】java多线程并发编程pdf
- java读取pdf文件流,系列篇
- ELK性能优化实战分析
- 【机器学习】基于概率论的分类方法和Logistic回归