NYOJ 42 一笔画问题
来源:互联网 发布:淘宝东大门代购哪家好 编辑:程序博客网 时间:2024/06/03 00:05
这题开始以为很水。判断一下每个点的奇偶就可以了,只存在两个点是奇点,就是起点和终点。
提交了WA了。后来思考是不是要每个点都要连通。DFS来了一次。AC了。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;int u[1001];bool vis[1001][1001];bool g[1001][1001];bool v[1001];int n,m;void dfs(int i){ for(int j=1;j<=n;j++) { if(g[i][j]&&!vis[i][j]) { vis[i][j]=vis[j][i]=1; v[i]=v[j]=1; dfs(j); } }}int main(){ int t; cin>>t; while(t--) { cin>>n>>m; int a,b; bool ok=0; memset(u,0,sizeof(u)); memset(vis,0,sizeof(vis)); memset(g,0,sizeof(g)); memset(v,0,sizeof(v)); for(int i=0;i<m;i++) { scanf("%d%d",&a,&b); u[a]++,u[b]++; g[a][b]=g[b][a]=1; } int num=0; for(int i=1;i<=n;i++) { if(u[i]&1)num++; if(num>2){ok=1;break;} } if(ok){printf("No\n");continue;} else { dfs(1); for(int i=1;i<=n;i++) if(!v[i]){ok=1;break;} } if(ok)printf("No\n"); else printf("Yes\n"); }}
0 0
- NYOJ 42 一笔画问题
- NYOJ 42 一笔画问题
- NYOJ 42一笔画问题
- NYOJ 42 一笔画问题
- NYOJ 42 一笔画问题
- nyoj-42-一笔画问题
- nyoj,42,一笔画问题
- Nyoj 42 一笔画问题
- NYOJ-42 一笔画问题
- NYOJ-42 一笔画问题
- NYOJ 42 一笔画问题
- nyoj 42 一笔画问题
- nyoj 42 一笔画问题
- nyoj 42 一笔画问题
- nyoj 42 一笔画问题
- nyoj 42 一笔画问题
- nyoj 42 一笔画问题
- NYOJ 42 一笔画问题
- Java Concurrency
- 深入浅出Mybatis-插件原理
- 统一的命名
- Flex 遍历 ArrayCollection, Array
- Hello World
- NYOJ 42 一笔画问题
- 深入浅出Mybatis-sql自动生成
- SQL Server 数据库定时自动备份
- 2.4. About Clusters
- java 使用arraycopy拷贝数组
- 循环多少次?
- Get Selected Radio button’s Text in C# windows app
- 计算“两个整数的最大公约数”
- 深入浅出MyBatis-MapperBuilder