个人学习记录贴
题目:某动物园搬家,要运走N种动物,老虎与狮子放进一个笼子打架,大象与犀牛放一个笼子打架,野猪与猎狗放在一个笼子里打架…设计算法,使得装进同一个笼子的动物互相不打架。A={0,1,2,3,4,5,6,7,8}#代表N种动物的集合,R={(1,4),(4,8),(1,8),(1,7),(8,3),(1,0),(0,5),(1,5),(3,4),(5,6),(5,2),(6,2),(6,4)}#冲突关系集合

我们需要把不打架的动物们放在一起,计算出最少需要几个笼子.
代码:

s = [0,1,2,3,4,5,6,7,8,9]
c = []
# 冲突集合R
R = [[1,4],[4,8],[1,8],[1,7],[8,3],[1,0],[0,5],[1,5],[3,4],[5,6],[5,2],[6,2],[6,4]]
# 对冲突集合进行排序
for i in range(len(R)):if R[i][0] > R[i][1]:R[i][0],R[i][1] = R[i][1],R[i][0]def bubble(data):  # 冒泡排序for j in range(len(data)-1,0,-1):count = 0for i in range(len(data)-1):if data[i] > data[i+1]:data[i],data[i+1] = data[i+1],data[i]count += 1if count == 0:return# 使用递归循环将冲突的小动物一一排除
def divide(s):s_new = []for i in range(len(s)-1):for j in range(len(s)-1,i,-1):if [s[i],s[j]] in R:s.remove(j) # 冲突的动物踢出s_new.append(j) # 踢出去的动物关进一个新的笼子print('划分后:')c.append(1) # 计算次数print(s)bubble(s_new)print('下一次候选集')print(s_new)if len(s_new) <= 2:print("已划分结束")else:divide(s_new) # 递归divide(s)
print('划分次数为:{}'.format(len(c)))

小动物搬家划分无冲突子集Python相关推荐

  1. python 库画小动物大全_python库之turtle(图形绘制) 开启新的快乐源泉

    Python Python开发 Python语言 python库之turtle(图形绘制) 开启新的快乐源泉 相信有不少人学习python 都是听了老前辈的推荐 "学python好,pyth ...

  2. 用python画小动物大全_python3用turtle库进行绘制小猪佩奇图案

    晚上闲着无事,深入学习这个turtle用法,就做了小猪佩奇图 附上代码: # coding: utf-8 #功能:绘画小猪佩奇 import turtle as t t.screensize(400, ...

  3. python画小动物_三分钟识别所有小动物!

    大家是不是有过这样的经历:看到一只可爱的小动物却不知道这是什么品种?或者看到一个美丽的妹子牵着一只小动物却不知道如何搭讪?现在机会来了,免费领取你的人工智能AI自动识别小动物!当然猪猪也是可以的!!! ...

  4. 用python画小动物大全_幼儿园大班美术优质课教案《奇妙的圆》

    大班美术优质课教案<奇妙的圆> 活动目标: 1.引导幼儿在圆形的基础上进行添画,使之变成各种可爱的小动物. 2.发展幼儿的想象力和创造力. 活动准备: 1.课前已认识有各种圆形组成的动物. ...

  5. python画简易动物画法_查找「画小动物最简单画法」安卓应用 - 豌豆荚

    288.1万人安装 专属宝宝的动物园开放咯~快来陪小动物玩耍吧!在玩耍中认识他们,和他们交朋友并了解它们!让宝宝成为人人夸赞的动物小专家! [超多小动物]:来自世界各地的小动物们共同生活在宝宝巴士的动 ...

  6. python没基础可以学吗-无基础学python,能学会吗?

    推荐阅读: 无基础学python,能学会吗?答案既是肯定的,也是否定的. 为什么既肯定又否定呢?原因很简单. python是一门应用十分广泛的编程语言,相对于其他语言,它更适合新手学习. 但学习是要讲 ...

  7. 五分钟没有操作自动退出_遇到不喜欢的小动物怎么办?教你五分钟友好的送走小动物!...

    游戏中一些小动物有些玩家不是很喜欢,想让它们搬走,但不知道怎么赶,下面小编介绍现在流行的三种方法其中最快的五分钟之内就能赶走,快来学习吧! 1.修改时间法 通过修改时间让小动物离开是网友测试最快的方法 ...

  8. 【翻译】理念:无冲突的扩展本地DOM原型

    菜鸟翻译,望大家多多指正哈 原文:http://lea.verou.me/2015/04/idea-extending-native-dom-prototypes-without-collisions ...

  9. 【大事化小,小事化无】的意思和解释

    [大事化小,小事化无] 是什么意思(来源:辞典修订版) 缩小或消除冲突.<文明小史.第一回>:「他见我们地方官以礼相待,就是有点需索便也不好十分需索,能够大事化小,小事化无.」也作「大事化 ...

最新文章

  1. 为什么多 TCP 连接比单 TCP 连接传输快
  2. 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件
  3. wxWidgets:wxListBox类用法
  4. lua 求table长度和判断空
  5. 共享内存 Actor并发模型到底哪个快?
  6. 32岁被裁补偿N+2:“感谢裁我,让我翻倍!” 网友:求同款被裁!
  7. java的sas数据安全_使用sas中的do循环指定数据信息
  8. Windows Vista桌面窗口管理器(3)
  9. 为什么你的 JavaScript 代码如此冗长?!
  10. Win7 IIS7 HTTP 错误 404.2 - Not Found解决方法
  11. 如何操作别人计算机,如何远程控制别人的电脑【图解】
  12. LINUX查看文件系统
  13. python中kwlist是什么意思_Python keyword.kwlist方法代碼示例
  14. MySQL 的 MRR 到底是什么?
  15. 八、RISC-V SoC外设——GPIO接口 代码讲解
  16. windows驱动开发教程 滴水_滴水编程达人全套
  17. 开源自主导航小车MickX4(五)gmapping建图
  18. PHP实现对微信支付v3版本的订单查询
  19. 实时数据同步利器debezium教程
  20. 用matlab画标准雷电波,雷电波发生器的MATLAB仿真及参数选取sc.doc

热门文章

  1. aspose转pdf横版_doc转pdf之aspose
  2. PCI、PCI-x,PCI-E
  3. excel按季度分类汇总_按部门对Excel表格中数据进行分类汇总的方法
  4. userinit.exe usrinit.exe 机器狗问题
  5. 搭乘社交电商“快车”平江特产“走四方”9个月狂卖300万
  6. Tensorflow中卷积神经网络之卷积层
  7. 配置scrapy-splash+python爬取医院信息(利用了scrapy-splash)
  8. C++核心准则边译边学-I.8 表示后置条件最好使用Ensures()
  9. java的继承属于哪种类型_Java基础 继承
  10. 工厂系列系统之 MES 系统7地秤篇