ACWing 4216. 图中的环
给定一个 nn 个点 mm 条边的无向图。
点的编号从 11 到 nn。
图中不含重边和自环。
请你对给定图进行判断,如果该图是一个有且仅有一个环的连通图,则输出 YES
,否则输出 NO
。
输入格式
第一行包含两个整数 n,mn,m。
接下来 mm 行,每行包含两个整数 a,ba,b,表示点 aa 和点 bb 之间存在一条无向边。
输出格式
如果该图是一个有且仅有一个环的连通图,则输出 YES
,否则输出 NO
。
数据范围
前三个测试点满足 1≤n≤101≤n≤10。
所有测试点满足 1≤n≤1001≤n≤100,0≤m≤n(n−1)20≤m≤n(n−1)2,1≤a,b≤n1≤a,b≤n。
输入样例1:
6 6
6 3
6 4
5 1
2 5
1 4
5 4
输出样例1:
YES
输入样例2:
6 5
5 6
4 6
3 1
5 1
1 2
输出样例2:
NO
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 int n,m; 7 cin>>n>>m; 8 vector<int>G[105]; 9 vector<int>f(105,0); 10 int u,v; 11 for(int i=1;i<=m;i++) 12 { 13 cin>>u>>v; 14 G[u].push_back(v); 15 G[v].push_back(u); 16 } 17 function<int(int,int)>dfs=[&](int u,int fa) 18 { 19 if(f[u])return 0; 20 int cnt=1; 21 f[u]=1; 22 for(auto &v:G[u]) 23 { 24 if(v!=fa)cnt+=dfs(v,u); 25 } 26 return cnt; 27 }; 28 if(dfs(1,0)==n&&n==m)cout<<"YES"<<endl; 29 else cout<<"NO"<<endl; 30 31 return 0; 32 }
分类:
一些比赛的题目
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】