E:/GitHub/suanfaquti/Q25鞋带的时髦系法.py


'''
问题描述(有修改)
12个点11条边,点组成一个长方形,高6宽2,上方每个点只有1条边经过,其他点2条边,
求11条边在长方形内部交叉点最多的情况。
分析
画坐标轴,遍历下10个点得到10!条路径,在把上面两个点做起点和终点得到完整路径,
计算出11条边,双层遍历,如果两条边都切割正方形,且a边端点的纵坐标减去
b边相应端点的纵坐标的到的两个值符号相反则有1个交点。
更新分析
教材提示左右分开遍历,即每条边的两个端点一定分在两边,这样可以减少到5!*5!的路径,
可以大幅度提高效率(然而教材的图却是10!的)。
'''
import itertools as it,time

def getCross(pica,picb):
    global maxCross,way,num
    count=0
    lines=[]
    pica.insert(0,points[0])
    picb.append(points[-1])
    for i in range(len(pica)-1):
        lines.append((pica[i],picb[i]))
        lines.append((pica[i+1], picb[i]))
    lines.append((pica[-1], picb[-1]))

for i in range(len(lines)-1):
        for j in range(i+1,len(lines)):
            a,b=lines[i],lines[j]
            if (a[0][1]-b[0][1])*(a[1][1]-b[1][1])<0:
                count+=1

if count>maxCross:
        maxCross=count
        way=lines
        print(way,count,num)

t1=time.clock()
way=[]
maxCross=9
num=0
points=[(0,5),(0,4),(0,3),(0,2),(0,1),(0,0),
        (1,0),(1,1),(1,2),(1,3),(1,4),(1,5),]
cut=int(len(points)/2)
pics1=list(it.permutations(points[1:cut]))
pics2=list(it.permutations(points[cut:-1]))
print(len(pics1)**2)

for pic1 in pics1:
    for pic2 in pics2:
        num+=1
        getCross(list(pic1),list(pic2))             #45
print(time.clock()-t1)

Q25鞋带的时髦系法相关推荐

  1. 双圆环环布带系法图解_【图】板鞋系鞋带 板鞋鞋带的系法有几种

    板鞋系鞋带怎么系更好看?板鞋鞋带的系法有几种,谁有板鞋鞋带系法大全. 穿衣打扮也是一门艺术,有些人善于从平时的穿着打扮中总结经验,然后发明各种搭配方法,例如我们平时所穿的板鞋系鞋带,不一定要从搭配衣服 ...

  2. 让你美的丝巾系法,今年玩的更嗨了!

    夏天,至少对于时髦客来说,是跳出固定思维的时候. 那些把男式泳裤设计成休闲短裤,把泳衣当做上衣, 甚至你看到的时髦客们更厉害了,直接把丝巾自制成抹胸上衣穿. Crop top款的丝巾穿上就是性感小野猫 ...

  3. 双圆环环布带系法图解_图解帆布鞋的七种时尚鞋带系法,看完你就知道了

    七种时尚鞋带系法,教你变成时尚达人 工具/材料 鞋带 鞋子 操作方法 01 十字交叉结 1.一端在内测打结,另外一端按照顺序穿孔,然后跳一个空穿进去; 2.按照相同的方法一直往下系,反复之后,剩下的鞋 ...

  4. k折交叉验证法的额外步骤_教你几招蝴蝶结系法步骤,OMG!这怎么配都美

    到了这种季节,怎样给自己的丝带绑个漂亮的结,这可真是令人最头疼的一件事了.要说绑带要怎么绑才好看,这几招蝴蝶结系法就很实用,简单大气又不失美感. 衬衫上的蝴蝶系法 步骤一:将带子两端像这样叠放,左边在 ...

  5. 鞋带的超炫系法-真是门艺术[转载]

    以前转过一篇关于打领带的文章,感觉受用匪浅,今天又发现这个关于系鞋带的,大家也跟着学习学习吧! 都这么大的人了,还都是交叉蝴蝶结鞋带,真够让家长操心的:P 学学.看看人家是怎么整的. 系的时候可要想好 ...

  6. 的正确使用_如何正确使用安全带 安全带正确系法

    车主上车第一件事情就是系安全带,安全带在驾驶安全中起着非常重要的作用,它能够极大地保护驾乘人员的安全.当然,系安全带也是有讲究的,并不只是简单的扣上而已,不同的人群系安全带的方法也是不一样的.下面一起 ...

  7. 双圆环环布带系法图解_22种绳结的绑法,受用无穷,值得收藏!

    原标题:22种绳结的绑法,受用无穷,值得收藏! :来人啊! :把这货给我绑了 呃.....老大,不会打结啊!: :(敲)这都不会? :看这个视频学吧-- 看看更多绳子打结方法 01 半结 简介:所有绳 ...

  8. 双圆环环布带系法图解_库卡(kuka)机械臂KR210结构图解

    众所周知,库卡机械臂在各大机型中算的上是最耐用的机械臂.目前新款Q系列中大部分已经采用气液平衡气囊装置.在刚性精度的稳定下,趋向于轻量化结构.主要是为了提高其运行节拍和减少能耗,进一步降低机械臂故障率 ...

  9. 双圆环环布带系法图解_魔术(连环扣)两个环之间是怎样穿过去的

    展开全部 1.有很小的空隙. 2.有机关可以打开. 环魔术是中国特有的魔术,其奥妙在于看似毫62616964757a686964616fe78988e69d8331333431353366无缝隙的两个 ...

最新文章

  1. ExFat文件系统DBR受损恢复案例
  2. C++ 函数传参的三种方式
  3. 何为TransmittableThreadLocal
  4. 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(八)
  5. parted工具详解
  6. HTML浮动导致高度塌陷,HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)...
  7. 重庆市大学生程序设计比赛相关情况
  8. SPH(光滑粒子流体动力学)流体模拟实现七:屏幕空间流体渲染(SSF)
  9. 实现机器学习的循序渐进指南XII——Apriori
  10. JavaScript 插入元素到数组的方法汇总
  11. CentOS系统找回MySQL数据库root登录密码
  12. 根据IP地址获得地理位置
  13. 有乐窝一周精选(二)
  14. Linux查看硬盘序列号
  15. PeckShield旗下数字资产反洗钱系统CoinHolmes亮相北京网络安全大会!
  16. win10内置计算机和天气闪退,win10系统中天气闪退怎么办?Win10天气应用闪退问题解决方法...
  17. CAD软件中怎么创建异形视口?
  18. SaaS 长河下,AfterShip 技术升级的“加减法”
  19. 5G通信呼啸而来,对未来WiFi覆盖有何影响?
  20. IDEA插件系列(19):EduTools插件——学习编程语言

热门文章

  1. linux安装步骤 从分区开始,从硬盘安装Linux系统方法步骤.doc
  2. 计算机音乐制作专业艺考,音乐艺考的专业有哪些
  3. 小米Note 5加快内核源代码开源
  4. uniapp 公众号获取code
  5. ConvNeXt:超越 Transformer?总结涨点技巧与理解代码(附注释)
  6. php 外观模式,外观模式的作用
  7. 关于Android Studio安装中文包版本不兼容问题
  8. 动画基础2 -- 插值器与估值器
  9. 麦当劳LEED认证餐厅超过1600家;玩具反斗城国庆全国新开6家门店 | 美通企业日报...
  10. Linux/Unix系统连接库使用 (zz)