小动物搬家划分无冲突子集Python
个人学习记录贴
题目:某动物园搬家,要运走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相关推荐
- python 库画小动物大全_python库之turtle(图形绘制) 开启新的快乐源泉
Python Python开发 Python语言 python库之turtle(图形绘制) 开启新的快乐源泉 相信有不少人学习python 都是听了老前辈的推荐 "学python好,pyth ...
- 用python画小动物大全_python3用turtle库进行绘制小猪佩奇图案
晚上闲着无事,深入学习这个turtle用法,就做了小猪佩奇图 附上代码: # coding: utf-8 #功能:绘画小猪佩奇 import turtle as t t.screensize(400, ...
- python画小动物_三分钟识别所有小动物!
大家是不是有过这样的经历:看到一只可爱的小动物却不知道这是什么品种?或者看到一个美丽的妹子牵着一只小动物却不知道如何搭讪?现在机会来了,免费领取你的人工智能AI自动识别小动物!当然猪猪也是可以的!!! ...
- 用python画小动物大全_幼儿园大班美术优质课教案《奇妙的圆》
大班美术优质课教案<奇妙的圆> 活动目标: 1.引导幼儿在圆形的基础上进行添画,使之变成各种可爱的小动物. 2.发展幼儿的想象力和创造力. 活动准备: 1.课前已认识有各种圆形组成的动物. ...
- python画简易动物画法_查找「画小动物最简单画法」安卓应用 - 豌豆荚
288.1万人安装 专属宝宝的动物园开放咯~快来陪小动物玩耍吧!在玩耍中认识他们,和他们交朋友并了解它们!让宝宝成为人人夸赞的动物小专家! [超多小动物]:来自世界各地的小动物们共同生活在宝宝巴士的动 ...
- python没基础可以学吗-无基础学python,能学会吗?
推荐阅读: 无基础学python,能学会吗?答案既是肯定的,也是否定的. 为什么既肯定又否定呢?原因很简单. python是一门应用十分广泛的编程语言,相对于其他语言,它更适合新手学习. 但学习是要讲 ...
- 五分钟没有操作自动退出_遇到不喜欢的小动物怎么办?教你五分钟友好的送走小动物!...
游戏中一些小动物有些玩家不是很喜欢,想让它们搬走,但不知道怎么赶,下面小编介绍现在流行的三种方法其中最快的五分钟之内就能赶走,快来学习吧! 1.修改时间法 通过修改时间让小动物离开是网友测试最快的方法 ...
- 【翻译】理念:无冲突的扩展本地DOM原型
菜鸟翻译,望大家多多指正哈 原文:http://lea.verou.me/2015/04/idea-extending-native-dom-prototypes-without-collisions ...
- 【大事化小,小事化无】的意思和解释
[大事化小,小事化无] 是什么意思(来源:辞典修订版) 缩小或消除冲突.<文明小史.第一回>:「他见我们地方官以礼相待,就是有点需索便也不好十分需索,能够大事化小,小事化无.」也作「大事化 ...
最新文章
- 为什么多 TCP 连接比单 TCP 连接传输快
- 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件
- wxWidgets:wxListBox类用法
- lua 求table长度和判断空
- 共享内存 Actor并发模型到底哪个快?
- 32岁被裁补偿N+2:“感谢裁我,让我翻倍!” 网友:求同款被裁!
- java的sas数据安全_使用sas中的do循环指定数据信息
- Windows Vista桌面窗口管理器(3)
- 为什么你的 JavaScript 代码如此冗长?!
- Win7 IIS7 HTTP 错误 404.2 - Not Found解决方法
- 如何操作别人计算机,如何远程控制别人的电脑【图解】
- LINUX查看文件系统
- python中kwlist是什么意思_Python keyword.kwlist方法代碼示例
- MySQL 的 MRR 到底是什么?
- 八、RISC-V SoC外设——GPIO接口 代码讲解
- windows驱动开发教程 滴水_滴水编程达人全套
- 开源自主导航小车MickX4(五)gmapping建图
- PHP实现对微信支付v3版本的订单查询
- 实时数据同步利器debezium教程
- 用matlab画标准雷电波,雷电波发生器的MATLAB仿真及参数选取sc.doc
热门文章
- aspose转pdf横版_doc转pdf之aspose
- PCI、PCI-x,PCI-E
- excel按季度分类汇总_按部门对Excel表格中数据进行分类汇总的方法
- userinit.exe usrinit.exe 机器狗问题
- 搭乘社交电商“快车”平江特产“走四方”9个月狂卖300万
- Tensorflow中卷积神经网络之卷积层
- 配置scrapy-splash+python爬取医院信息(利用了scrapy-splash)
- C++核心准则边译边学-I.8 表示后置条件最好使用Ensures()
- java的继承属于哪种类型_Java基础 继承
- 工厂系列系统之 MES 系统7地秤篇