藍橋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 藍橋杯省賽C語言B組 第六題 方格填數C語言
- [藍橋杯][演算法訓練VIP]方格取數演算法
- PAT 2023 冬 乙 方格填數
- 藍橋杯真題
- 藍橋python——REPEAT 程式Python
- 2016年藍橋杯C/C++組省賽第一題--煤球數目C++
- 藍橋杯-帶分數
- 【每週例題】藍橋杯 C++ 多數C++
- 第六屆藍橋杯省賽CC++B組C++
- 藍橋杯-座次問題
- 藍橋杯-日期問題
- 藍橋杯題庫 BASIC-16 分解質因數
- 藍橋杯-波動數列
- 藍橋杯-合併數列
- 藍橋杯試題 基礎練習 特殊迴文數
- 方格分割 二進位制列舉+DFS(2017 第八屆藍橋杯省賽A組 第4題)
- 藍橋杯模板(三)python組Python
- 藍橋杯模板(二)python組Python
- 藍橋杯-買不到的數目
- 藍橋杯-連號區間數
- 【藍橋杯】試題 歷屆試題 剪格子(python解法+java解法)PythonJava
- 網路流24題09方格取數問題
- 藍橋杯例題-快速分揀
- 藍橋杯 演算法訓練 K好數(Java解題)演算法Java
- 藍橋杯 小朋友排隊 (歸併排序 逆序數 好題)排序
- 藍橋杯之特殊迴文數JAVAJava
- 【藍橋杯考前突擊】第十屆藍橋杯省賽C/C++大學B組 試題 D 數的分解C++
- 2016年藍橋杯C/C++組省賽第三題--湊算式C++
- 2016年藍橋杯C/C++組省賽第四題--快速排序C++排序
- 2015年省賽第六屆藍橋杯B組C/C++第五題解 九陣列分數C++陣列
- 藍橋杯2023年A組-試題A-幸運數
- Java藍橋杯14年第五題Java
- 2016藍橋杯假期任務之《武功祕籍》
- 2016年藍橋杯C/C++組省賽第二題--生日蠟燭C++
- 2013第四屆藍橋杯省賽C++B組【第六題:三部排序】C++排序
- 閒聊藍橋杯JAVA - 生成迴文數Java
- 第九屆藍橋杯省賽C++A組 倍數問題(dfs)C++
- 藍橋杯 排序排序