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;
	
}
相关推荐
l1t1 分钟前
利用DuckDB列表一句SQL输出乘法口诀表
数据库·sql·算法·duckdb
一只会写代码的猫12 分钟前
深度解析 Java、C# 和 C++ 的内存管理机制:自动 vs 手动
java·jvm·算法
高山有多高13 分钟前
堆应用一键通关: 堆排序 +TOPk问题的实战解析
c语言·数据结构·c++·算法
我命由我1234515 分钟前
Java 开发 - 简单消息队列实现、主题消息队列实现
java·开发语言·后端·算法·java-ee·消息队列·intellij-idea
2501_9412374515 分钟前
高性能计算通信库
开发语言·c++·算法
程序猿追24 分钟前
Ascend C编程范式总结:与CUDA的异同对比
c语言·开发语言·算法
前进之路91 小时前
Leetcode每日一练--47
数据结构·算法·leetcode
2501_941236212 小时前
C++与Node.js集成
开发语言·c++·算法
晨非辰2 小时前
【数据结构初阶系列】归并排序全透视:从算法原理全分析到源码实战应用
运维·c语言·数据结构·c++·人工智能·python·深度学习
云边有个稻草人6 小时前
部分移动(Partial Move)的使用场景:Rust 所有权拆分的精细化实践
开发语言·算法·rust