ABC 404

1.C 题:

1.思路: N=M&每个点读数为2 ,但图中有可能出现多环,需要判断所有点是否都在同一连通块上,有俩种解法:搜索,循环

2.代码(循环做法)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
vector<int> g[N];
int n,m,a,b,vis[N];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	for(int i=1;i<=n;i++){
		if(g[i].size()!=2) {
			cout<<"No"<<endl;
			return 0;
		}
	}
	int x=g[1][0],cnt=1;
	vis[1]=1;
	while(!vis[x]){
		vis[x]=1;
		cnt++;
		if(!vis[g[x][0]]) x=g[x][0];
		else x=g[x][1];
	} 
	if(cnt==n)cout<<"Yes"<<endl; 
	else cout<<"No"<<endl;
	
}
相关推荐
Sheep Shaun31 分钟前
C++类与对象—下:夯实面向对象编程的阶梯
c语言·开发语言·数据结构·c++·算法
yi个名字2 小时前
链表高级操作与算法
数据结构·算法·链表
wuqingshun3141592 小时前
蓝桥杯 19. 植树
c++·算法·蓝桥杯·深度优先·动态规划
王禄DUT2 小时前
网络延时 第四次CCF-CSP计算机软件能力认证
c++·算法
福居路冥想的草莓3 小时前
矩阵置零(中等)
数据结构·算法·矩阵
wang__123003 小时前
力扣119题解
算法·leetcode·职场和发展
I AM_SUN4 小时前
42. 接雨水(相向双指针/前后缀分解),一篇文章讲透彻
c++·算法·leetcode
zm6 小时前
五一假期作业
数据结构·算法
csdn_aspnet7 小时前
C# 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)
算法·c#