昨天室友让我一笔写“田”字,想了好久没有结果,百度一下,有如下定理:

一笔画的规律:
1.凡是由偶点组成的连通图,一定可以一笔画成。画时可以把任一偶点为起点,最后一定能以这个点为终点画完此图。

2.凡是只有两个奇点的连通图(其余都为偶点),一定可以一笔画成。画时必须把一个奇点为起点,另一个奇点终点。

3.其他情况的图都不能一笔画出。

注:与奇数(单数)条边相连的点叫做奇点;与偶数(双数)条边相连的点叫做偶点。

由于“田”字有4个奇点、5个偶点,因此,该字不可能一笔完成。

没事干就想写个小程序找下其解,根据对称性,分别从“田”字的顶点(四个角的点)、外边中间的点、和中心点出发,搜寻是否可以不重复遍历“田”字12条边的情况,根据运行结果找不到这样的笔法,也就是说按常规写法,一笔写不出“田”字。

从顶点出发的最好结果:走过9条边

从中间点出发的最好结果:走过10条边

从中心点出发的最好结果:走过9条边

搜寻过程的代码:

public void findWay(){boolean flag=true; //是否有解int cnt=0; //搜寻次数while(getLineValue()<12){currDirection=getNextDirection(); //寻找下一个方向while(currDirection==-1){cnt++;if(trace.empty()){System.out.println("no answer!");flag=false;break;}UnicursalNode tmp=trace.pop();updateLineValue(currPos,tmp.getCurrPos(),0);currPos=tmp.getCurrPos();currDirection=tmp.getCurrDirection();currDirection=getNextDirection();               }if(!flag)break;Point pt=new Point(currPos.getX(),currPos.getY());UnicursalNode node=new UnicursalNode(pt, currDirection);trace.push(node);currPos.move(currDirection, 2);updateLineValue(node.getCurrPos(), currPos,1);currDirection=0;         }System.out.println(trace+", cnt="+cnt);}

一笔画写“田”字的计算机求解相关推荐

  1. 在下图的基础上,一笔写出“田”字

    背景 昨天在商场吃饭,看到一个很有趣的问题,大致描述如下: // 问题描述: // 如下图,如何在下图的基础上,一笔完成一个"田"字 // __ // | // // " ...

  2. 计算机考试电脑阅卷,你写的字可能给电脑阅卷带来了很大困难,电脑:这试卷看不下去...

    导语:初期教育应是一种娱乐,这样才更容易发现一个人天生的爱好.--柏拉图 "字如其人"."善书者不择笔",如此浮躁的年代,静心的写字非常难得,写得一手好字尤为重 ...

  3. 计算机考试老师怎么评卷,你写的字VS电脑阅卷呈现的字,两者相差悬殊,网友:机器尽力了...

    从小到大,每当在写字的时候,相信很多学生都会被提醒要好好写字,无论是平时写作业还是考试,都有家长或者老师让我们注意字迹. 都说字如其人,对于一个人的第一印象,很多人都会看这个人的字写得怎么样,由此可见 ...

  4. 计算机专业会不会经常打字,经常用电脑打字,都懒得写字,根本不想写,请问有什么坏处吗?感觉打的字数量比写的字要多很多...

    经常用电脑打字,都懒得写字,根本不想写,请问有什么坏处吗?感觉打的字数量比写的字要多很多以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一 ...

  5. 计算机没考好的检讨书300百以上,【检讨书300字关于考试没考好】_关于考试没考好的检讨书怎么写300字急!!!急!!!急!!!...

    关于考试没考好的检讨书怎么写300字 急!!!急!!!急!!!! 带了一个坏头:新的同学,并保证不会在有类似的事情发生,如果在考试中别的同学不会. 早在我刚踏进这个班级的时候,您就已经三令五申,实乃不 ...

  6. ❤️六W字《计算机基础知识》(一)(建议收藏)❤️

    计算机简介:         计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量 ...

  7. 教我怎么写连笔字签名胡彦清

    导读:今天来给大家分享[教我怎么写连笔字签名胡彦清]有叫这个名字的人可以来看看了! 一.学习签名首先是要决定是写在哪些地方; (1)用在普通的场合,想要一个比较独特的签名; 在这种时候,想要一个与众不 ...

  8. 材料力学求解器-刚架与桁架杆系的计算机求解(附matlab代码)

    材料力学求解器-刚架与桁架杆系的计算机求解(附matlab代码) 1 刚架的计算机求解 1.1位移法与刚度矩阵 1.2 matlab程序 2 桁架的计算机求解 材料力学是一门非常成熟的学科,里面有大量 ...

  9. 计算机论文 游戏,计算机游戏论文3000字_计算机游戏毕业论文范文模板.doc

    计算机游戏论文3000字_计算机游戏毕业论文范文模板 计算机游戏论文3000字(一):一些智力游戏问题的数学模型及其计算机求解论文 摘要:国内只有相关智力游戏问题的数学模型相关论文,数学模型作为当代社 ...

最新文章

  1. go mongodb排序查询_【赵强老师】MongoDB中的索引(下)
  2. redis源码之util
  3. 深入理解PHP中赋值与引用
  4. beta分布的采样或抽样(java程序)
  5. oracle 截取指定时间戳,oracle时间函数(包括截取时间)
  6. 《0元搭建个人博客史上最详细教程》(域名申请及备案篇)
  7. Android 自定义组件学习 3
  8. 不是我吹!超级全面的权限系统设计方案面世了
  9. [3]、Swagger——解决前后端打架问题
  10. MacBook安装wget几种方式
  11. 武汉互联网公司和生活成本
  12. 李宏毅ML笔记14:降维/无监督-线性方法
  13. 金蝶外贸进出口行业解决方案(K/3 Cloud、EAS版)
  14. adb导出手机应用到电脑
  15. 中国大学生计算机设计大赛英语,中国大学生计算机设计大赛2018.pdf
  16. 【简记】解决IDE golang 代码飘红报错
  17. 2920集五福_2020年支付宝集五福攻略
  18. python勾股定理、0-30_求助python大神,显示Process finished with exit code 0.
  19. 广东户外徒步指南 持续更新
  20. (Halcon深度学习)安装深度学习工具(DLT)

热门文章

  1. 《太乙金华宗旨》回光修炼法探秘
  2. 蓝桥杯---试题 历届试题 对局匹配
  3. 使用HTML实现带背景音乐的网页
  4. 备战考研是否需要ipad?
  5. ThreeJS基本图形之点阵云
  6. 《数据密集型应用系统设计》读书笔记——数据系统基础
  7. Acwing算法基础【1】基础(三)前缀和与差分
  8. 基于Zero-Ice搭建的物联网监控平台
  9. 学计算机专业独立显卡有必要吗,花这钱真没必要!入门级独显的笔记本就别考虑了...
  10. 网站服务器如何移动路线,移动线路云服务器