博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一笔画问题---欧拉定理
阅读量:4460 次
发布时间:2019-06-08

本文共 993 字,大约阅读时间需要 3 分钟。

欧拉定理   如果一个网络是连通的并且奇顶点的个数等于0或2,那么它可以一笔画出;否则它不可以一笔画出。

判断一笔画的方法:

  ①是连通的。一个图,如果图上任意二点总有线段连接着,就称为连通的。不是连通的就不能一笔画出。

  ②奇点个数是0或者是2。图上线段的端点可以分成二类,奇点和偶数。一个点,以它为端点的线段数是奇数就称为奇点,线段数是偶数就称为偶点。

  一个图是否是一笔画就看奇点的个数,奇点个数是 0 或者 2,就是一笔画,否则就不是一笔画。

所以这个问题完全可以转化策略为:

           第一步: 首先我们不管它三七二十几,先进行连通性的判断。

           第二步:

                      (1)如果是连通的,我们来判断此图的度的奇点的个数是0或者是2 ,如果是,则说明这个是欧拉图,即可以一笔画出,反之则不能一笔画出

                      (2)如果是非连通的,这说明这个图很定不能一笔画出。

 

1 #include 
2 #include
3 using namespace std; 4 5 int mp[1010][1010]; 6 int n,p,q,a,b; 7 short vis[1010],c[1010]; 8 9 void dfs(int cur)10 {11 vis[cur]=1;12 for(int i=1;i<=p;i++)13 {14 if(mp[cur][i]&&!vis[i])15 {16 dfs(i);17 }18 }19 }20 21 int main()22 {23 scanf("%d",&n);24 while(n--)25 {26 memset(mp,0,sizeof(mp));27 memset(vis,0,sizeof(vis));28 memset(c,0,sizeof(c));29 scanf("%d%d",&p,&q);30 for(int i=0;i
View Code

 

转载于:https://www.cnblogs.com/WDKER/p/5465924.html

你可能感兴趣的文章
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>
자주 쓰이는 정규표현식
查看>>
超简单的listview单选模式SingleMode(自定义listview item)
查看>>
vue-11-路由嵌套-参数传递-路由高亮
查看>>
HDU 1199 - Color the Ball 离散化
查看>>
[SCOI2005]骑士精神
查看>>
Hibernate原理解析-Hibernate中实体的状态
查看>>
六时车主 App 隐私政策
查看>>
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>
什么是敏捷设计
查看>>
SCSS的基本操作
查看>>
"安装程序无法定位现有系统分区" 问题解决
查看>>
.NET中栈和堆的比较
查看>>
【莫队】bzoj 3781,bzoj 2038,bzoj 3289
查看>>
如何优化limit
查看>>