检测正方形数量

  • Creator 版本: <2.4.5>

  • 目标平台:

    大神们 这个判断有多少个正方形怎么判断呢 这些棒子是自由拖得 头尾会吸附 问题是最后不知道怎么判断有多少个正方形 如图应该是五个正方形

简单粗暴的遍历,通过x最大和最小,y最大最小计算出最大可能出现的正方形比如上图,最大可能正方形为最大边长=math.min(4,2), 从1到最大边长开始遍历正方形是否合法

因为吸附会有空隙 不知会不会影响

我没有很理解 能通过代码解释一下嘛大哥

要不找环?一根的有多少个一根环,两根的有多少个两根的环?

把头尾吸附的棒子和方向存起来 ,遍历棒子找符合,过滤重复的

数据结构里的图找连通子图

把步骤拆开一步一步实现嘛
比如第一步就可以先实现一个判断是否是正方形的函数,传入四根火柴棍的数组,判断长度一致且头尾相连,那就是一个正方形。
第二步就是把图中的所有火柴棍遍历出来(包括由两根火柴棍头尾相连组成的一根长火柴棍)。然后就带进上一步函数里面去判断。
第三步实现了过后再去看哪些地方可以进一步优化计算量。

生成节点树每一个交叉点是一个节点,然后遍历节点连通是否可回到第一个节点首尾连通行节点数是4的倍数判断对角线是否相等。

还有更简单的 随机选一个节点可以推算出他所有对角线的点判断是否存在火柴就行

这个不知道用代码怎么表现