专栏文章
题解:AT_abc404_c [ABC404C] Cycle Graph?
AT_abc404_c题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipdejzx
- 此快照首次捕获于
- 2025/12/03 10:11 3 个月前
- 此快照最后确认于
- 2025/12/03 10:11 3 个月前
简单题,直接 DFS 扫一遍,看有没有经过重复点并且这时其它点都已经走过即可。
代码:
CPP#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+5;
vector<int>e[N];
int vis[N];
int n,m;
void dfs(int x,int fa)
{
for(auto v:e[x])
{
if(v!=fa&&vis[v])
{
int flag = 0;
for(int i = 1;i<=n;i++)
{
if(!vis[i])
{
flag = 1;
break;
}
}
if(!flag)
{
printf("Yes");
}
else
{
printf("No");
}
exit(0);
}
else if(v!=fa)
{
vis[v] = 1;
dfs(v,x);
}
}
}
signed main()
{
scanf("%d %d",&n,&m);
for(int i = 1;i<=m;i++)
{
int x,y;
scanf("%d %d",&x,&y);
e[x].push_back(y);
e[y].push_back(x);
}
vis[1] = 1;
dfs(1,0);
printf("No");
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...