蓝桥python—— 方格填数【2016 第六题】
发布日期:2021-06-28 22:05:39
浏览次数:2
分类:技术文章
本文共 1634 字,大约阅读时间需要 5 分钟。
蓝桥python—— 方格填数【2016 第六题】
【题目描述】
如下的 10 个格子 填入 0~9 的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻), 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。和大家说下我的思路吧。我反正能不动脑子,能暴力就暴力破解!
将每个框框编号,按照数组的下标从0-9。随后生成0-9的所有全排列按顺序放置在框框中,最后即判断是否可行!
判断的话因为只有是个框框,那就一个框框判断他的周围是否有相邻数字的,若全部都没有,则count加1##方格填数import itertoolsa=[i for i in range(10)]x=list(itertools.permutations(a,10))count=0for i in x: flag=False if abs(i[0]-i[4])==1 or abs(i[0]-i[3])==1 or abs(i[0]-i[5])==1 or abs(i[0]-i[1])==1: flag=True if abs(i[1]-i[0])==1 or abs(i[1]-i[2])==1 or abs(i[1]-i[5])==1 or abs(i[1]-i[4])==1 or abs(i[1]-i[6])==1 : flag=True if abs(i[2]-i[1])==1 or abs(i[5]-i[2])==1 or abs(i[2]-i[6])==1 : flag=True if abs(i[3]-i[0])==1 or abs(i[3]-i[4])==1 or abs(i[3]-i[8])==1 or abs(i[3]-i[7])==1 : flag=True if abs(i[4]-i[0])==1 or abs(i[4]-i[3])==1 or abs(i[4]-i[7])==1 or abs(i[8]-i[4])==1 or abs(i[4]-i[9])==1 or abs(i[5]-i[4])==1 or abs(i[4]-i[1])==1: flag=True if abs(i[5]-i[1])==1 or abs(i[5]-i[0])==1 or abs(i[5]-i[4])==1 or abs(i[5]-i[8])==1 or abs(i[5]-i[9])==1 or abs(i[5]-i[6])==1 or abs(i[5]-i[2])==1 : flag=True if abs(i[6]-i[2])==1 or abs(i[6]-i[1])==1 or abs(i[6]-i[5])==1 or abs(i[6]-i[9])==1 : flag=True if abs(i[7]-i[3])==1 or abs(i[7]-i[4])==1 or abs(i[7]-i[8])==1 : flag=True if abs(i[8]-i[3])==1 or abs(i[8]-i[4])==1 or abs(i[8]-i[5])==1 or abs(i[8]-i[7])==1 or abs(i[8]-i[9])==1 : flag=True if abs(i[9]-i[8])==1 or abs(i[9]-i[4])==1 or abs(i[9]-i[5])==1 or abs(i[9]-i[6])==1: flag=True if not flag: count+=1print(count)
答案为1580
转载地址:https://blog.csdn.net/yfuyu/article/details/109540893 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月12日 00时39分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
VUE进阶之使用vue-draggable拖拽
2019-04-29
微信小程序特训之父子组件传值
2019-04-29
解除端口占用 Address already in use::8000
2019-04-29
VUE之axios解决跨域方案
2019-04-29
nodeJS学习------拿到数据有RowDataPacket处理
2019-04-29
vue-cli3中引入less,scss等解决方案
2019-04-29
vue使用swiper插件修改左右箭头的默认样式
2019-04-29
微信小程序--拿到时间戳 转换 并绑定
2019-04-29
关于转换十位时间戳出现1970的问题
2019-04-29
【vue系列】在Vue项目中使用Sass-----(scss)安装详解,新手跟着做即可
2019-04-29
前端-给大家一个超级好用简单方便的图片压缩工具(网页在线)~
2019-04-29
前端html实现删除线的两种方法(下划线)css样式总结
2019-04-29
js根据ID获取输入框的值
2019-04-29
初学wx小程序在vscode上装什么插件
2019-04-29
(split盲点)javascript如何判断字符串中某个特定字符的个数
2019-04-29
axios请求头踩坑日记之-application/json
2019-04-29
vue-封装axios的GET请求
2019-04-29
javascript获取当前时间时间戳的几种方法
2019-04-29