藍橋python—— 方格填數【2016 第六題】
藍橋python—— 方格填數【2016 第六題】
【題目描述】
如下的 10 個格子
填入 0~9 的數字。要求:連續的兩個數字不能相鄰。 (左右、上下、對角都算相鄰), 一共有多少種可能的填數方案?
請填寫表示方案數目的整數。 注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。
和大家說下我的思路吧。我反正能不動腦子,能暴力就暴力破解!
將每個框框編號,按照陣列的下標從0-9。隨後生成0-9的所有全排列按順序放置在框框中,最後即判斷是否可行!
判斷的話因為只有是個框框,那就一個框框判斷他的周圍是否有相鄰數字的,若全部都沒有,則count加1
##方格填數
import itertools
a=[i for i in range(10)]
x=list(itertools.permutations(a,10))
count=0
for 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+=1
print(count)
答案為1580
相關文章
- [藍橋杯][2016年第七屆真題]冰雹數
- [藍橋杯][演算法訓練VIP]方格取數演算法
- PAT 2023 冬 乙 方格填數
- 2016藍橋杯省賽第七題剪郵票
- 2016年藍橋杯C/C++組省賽第一題--煤球數目C++
- 藍橋杯真題:純質數
- [藍橋杯][2015年第六屆真題] 移動距離
- 藍橋python——REPEAT 程式Python
- 2016年藍橋杯C/C++組省賽第三題--湊算式C++
- 2016年藍橋杯C/C++組省賽第四題--快速排序C++排序
- 1303: [藍橋杯2016決賽]路徑之謎
- 藍橋杯真題
- 2016年藍橋杯C/C++組省賽第二題--生日蠟燭C++
- 【每週例題】藍橋杯 C++ 多數C++
- 方格分割 二進位制列舉+DFS(2017 第八屆藍橋杯省賽A組 第4題)
- 藍橋杯-帶分數
- 藍橋杯-排列序數
- 藍橋杯 整數拼接
- 第六屆藍橋杯省賽CC++B組C++
- 藍橋杯-日期問題
- 藍橋杯-座次問題
- 藍橋杯2023年A組-試題A-幸運數
- 藍橋杯題庫 BASIC-16 分解質因數
- 藍橋杯模板(二)python組Python
- 藍橋杯模板(三)python組Python
- 2015年省賽第六屆藍橋杯B組C/C++第五題解 九陣列分數C++陣列
- 藍橋杯-合併數列
- 藍橋杯-波動數列
- 【藍橋杯】試題 歷屆試題 剪格子(python解法+java解法)PythonJava
- 2013年藍橋杯真題
- 藍橋杯全排列專題
- 藍橋杯試題 基礎練習 特殊迴文數
- 2021藍橋杯(Python)騙分指南Python
- 2013第四屆藍橋杯省賽C++B組【第六題:三部排序】C++排序
- 藍橋杯-子 2023 / 雙子數
- 藍橋杯-連號區間數
- 藍橋杯-買不到的數目
- 藍橋杯——特別數的和