解开连线

apk下载:https://blog.csdn.net/nameofcsdn/article/details/119086279

游戏规则:通过拖拽圆点,把所有交叉到一起的连线解开,即可过关

这个游戏很简单,但是有意思的在于考虑最少需要的步数m

(1)

m=1

(2)

m=1

(3)

m=1

定理一:如果圆点的数量为n,那么最少需要的步数m<n

注意,是小于,因为位置是相对的,绝对位置并没有意义

(4)

m=2

定理二:如果n个点中任选k个点构成的子图都有交叉点,那么m>n-k

比如这一关,对于五角星来说,任选4个点构成的子图都有1个交叉点,所以m>5-4=1

(5)

m=2

定理三:去掉任意数量的边,m可能不变,也可能变小,但是不会变大

这一关中,去掉2条边就可以变成五角星,所以m>=2

(6)

m=2

(7)

m=2

这一关很容易以为最少需要的步数m=3,实际上m=2

这里就体现了定理二的妙用了,在试图用定理二证明m>2的时候发现,

有4个点构成的子图是没有交叉点的,这样,我们就可以移动另外2个点消除所有交叉点

(8)

m=3

用定理二可以得出m>2

(9)

定理四:如果n个圆点分别为点A1,点A2......点An,而且多边形A1A2......An是凸多边形,而且移动一个点之后多边形A1A2......An仍然是凸多边形,那么移动前后最少需要的步数m不变

简证:任取4个点,例如A1A2A3A4,4个点构成交叉等价于A1A3相连而且A2A4相连,所以是否交叉只取决于点在凸多边形上的相对顺序

所以,为了看起来方便可以把上图暂时变成

这样很容易看出来m=2

然后再去操作原图

(10)

m=2

(11)

m=2

(12)

m=3

这一关其实和第(8)关本质是一样的

(13)

有特殊规则的,讨论m就没有意义了

(14)

m=3

(15)

m=3

(16)

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

(25)

(26)

(27)

(28)

有时会遇到这样的问题:

没有线交叉,但是很难把点全部移到洞里面去。

之所以会出现这样的问题,是因为结构不合适。

首先,要从欧拉定理说起。

多面体欧拉定理:对于简单多面体,简单多面体的顶点数V、棱数E及面数F间有关系有著名的欧拉公式:V-E+F=2

简单多面体即表面经过连续变形可以变为球面的多面体,这是一个拓扑变形的概念。

多面体欧拉定理常见的2个证明中,其中一个是通过剪掉一个面,将其余的面拉平,使它变为平面图形,利用算两次的原理计算内角和证明定理。

这个把多面体变成平面图形也是拓扑的概念,理解操作方法就行,这里不需要仔细描述。

对于这个游戏来说,若干连线组成的平面图形,有的是可以看做多面体变形得到的,有的虽然不行但是也差不多,不影响我下面叙述的针对本游戏的规律的正确性。

对于一个多面体,有的面是三角形,有的面是多边形,每一个面都可以用来剪开从而摊平多面体。

为了防止出现“没有线交叉,但是很难把点全部移到洞里面去”的现象,应该选择边数较多的面来剪开

那么,新的问题来了,在游戏一开始的时候如何寻找边数较多的面呢?

这个实际上很难完成,而且并不一定就是多面体,所以更好的策略是:

首先移动顶点,使得所有的线都没有交叉(这个步骤非常简单),可能有多种方法多种结果,任何一个都是可以的。

其次把得到的图和多面体进行比较,就能知道每个面的情况。

比如这里的第28关,可以看得出来是1个六边形加上8个三角形构成的。

最后以这个图为基础稍微调整,就能得到以任意一个面剪开的图



这样最终得到的平面图形的可变性行就比较强,一般就不会出现“没有线交叉,但是很难把点全部移到洞里面去”的现象,除非洞的数量极高。

(29)

(30)

(31)

(32)

(33)

(34)

(35)

(36)

(37)

(38)

(39)

(40)

(41)

这就是前面提到的洞的数量极高的现象,洞的数量极高的话,难度也会急剧上升。

这个时候仅仅用前面提到的方法已经不够用了。

首先需要仔细分析多面体的结构,这个多面体就是1个六边形加上10个三角形构成的

接着根据凸包,把点和洞分成外圈和圈内2种位置
这里引入凸包的概念:凸包就是将最外层的点连接起来构成的凸多边形
对于洞来说,如果洞的数量较大,就可以算出凸包的边数的范围,甚至确定凸包的边数
比如这里的第41关,因为有9个点和9个洞,所以凸包是确定的,就是六边形
对于点来说,凸包其实就是多面体的某一个面,也就是前面提到的剪开的那个面
比如这里的第41关,既然凸包确定是六边形,那么就只能把六边形剪开从而展开多面体,其他的3个点都必须放在六边形里面
这样,我们就知道了3个内点和6个外点,洞也分3个内洞和6个外洞
最后根据线的连接情况和洞的绝对位置,来确定该把哪个点放进哪个洞
比如这里的3个内点,度分别为4,5,6,虽然洞和洞之间无法判断是怎么相连的,但是根据洞的绝对位置可以推断出,
只有下面那个内洞可以对应度为6的内点
这样,我们就得到了唯一对应方案。

(42)

(43)

(44)

(45)

(46)

(47)

(48)

(49)

(50)

(51)

(52)

这里又有了第二种特殊规则:黑点

黑点就是无法移动,除此之外和普通点一样

所以并没有什么难度

(53)

(54)

黑点和洞同时出现,还是和前面说的方法一样,先变成没有交叉点的图再移动

(55)

(56)

(57)

(58)

(59)

(60)

(61)

这一关出现了3个黑点,看似对我们的操作有一定的限制,实际上反而降低了难度。

首先把连接了2个黑点的点的大致位置摆正,然后把连接了1个黑点的点的位置都摆正,

使得此时黑点连出的线之间是没有交叉的,这个过程很容易。

最后以此为基础,把那些不与黑点相连的点的位置摆正即可,这个过程也很容易,不过需要注意的是,

如果有必要的话,与黑点相连的点也可以稍微调整位置。

(62)

(63)

(64)

(65)

(66)

(67)

(68)

(69)

(70)

至此全部通关。□

python023基于Python旅游景点推荐系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
JSP基于SSM网上医院预约挂号系统毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值