手機的九宮格圖案解鎖總共能繪出多少種圖案?
需要滿足的要求有:
至少經過四個點;
不能重複經過同一個點;
路徑上的中間點不能跳過(如從1到3一定會經過2);
如果中間的點是之前已經用過的,那麼這個點就可以被跳過(如213,因為2已經被用過,1就可以越過2與3連線,132是不允許的)。
作者:linkwun
連結:https://www.zhihu.com/question/24905007/answer/29414497
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
from itertools import chain, permutations
impossible = {'13': '2',
'46': '5',
'79': '8',
'17': '4',
'28': '5',
'39': '6',
'19': '5',
'37': '5',
'31': '2',
'64': '5',
'97': '8',
'71': '4',
'82': '5',
'93': '6',
'91': '5',
'73': '5'}
def counts():
iterlst = chain(*(permutations('123456789', i) for i in range(4, 10)))
count = 0
for i in iterlst:
stri = ''.join(i)
for k, v in impossible.items():
if k in stri and v not in stri[:stri.find(k)]:
break
else:
count += 1
return count
print(counts())#389112
我用python寫了段程式碼,先計算出所有大於四個數字的所有排列組合,然後從中剃除穿過中間那個數字的組合,剩下的既為符合要求的程式碼。
例如13組合是不可能存在的,因為它會穿過2,19組合也不可能存在,因為它會穿過5,總共有16個這樣的組合。
但是假如中間這個數字已經用過了,是可以穿過的,比如213,2已經用過了,1是可以穿過2與3連線的。
如此篩選以後,就得到正確答案389112了。
以下兩段codes可以看做是等價的,只是chain的效率更高:
iterlst = chain(*(permutations('123456789', i) for i in range(4, 10)))
count = 0
for i in iterlst:
和
for permutation in ((permutations('123456789', i) for i in range(4, 10))):
for item in permutation:
print(item)
相關文章
- python九宮格圖片的原理Python
- 小程式—九宮格心形拼圖
- 九宮格切圖-創意分享新風尚
- iOS 中使用 FlexBox 佈局實現圖片九宮格iOSFlex
- 九宮格抽獎–手擼程式碼
- CSS3繪製圖形圖案效果CSSS3
- 圖解九種常見的設計模式圖解設計模式
- NEO共識機制圖解圖解
- 解鎖canvas匯出圖片跨域的N種姿勢~Canvas跨域
- 只需45秒,Python給故宮畫一組手繪圖!Python繪圖
- 手機使用python操作圖片檔案Python
- 手繪風格的 JS 圖表庫:Chart.xkcdJS
- iOS swift 最好用的 手勢密碼 九宮格iOSSwift密碼
- Matlab繪圖(2)透過程式碼進行區域性放大繪圖、多檔案繪圖Matlab繪圖
- js版九宮格拼圖與啟發式搜尋(A*演算法)JS演算法
- 解鎖跨域的九種姿勢跨域
- python中繪圖的圖表和曲線樣式總結(GPT直出)Python繪圖GPT
- flutter 用 CustomPaint 繪製自定義圖案FlutterAI
- 【UML】UML幾種圖的繪製
- canvas繪製圖案是重疊繪製而不是重置Canvas
- canvas 繪製圖案是重疊繪製而不是重置Canvas
- 短視訊平臺原始碼,動態上傳的圖片以九宮格形式展示原始碼
- 紅魔Mars手機怎麼截圖截圖?紅魔Mars手機的幾種螢幕截圖方法
- SMELab:九宮格和全鍵盤究竟哪種更科學?
- 專案總結 | 九種缺失值處理方法總有一種適合你
- Spyder 調出繪圖介面繪圖
- Android自定義多宮格解鎖控制元件Android控制元件
- 製造企業圖紙檔案管理軟體多少錢 圖紙管理問題解決方案
- VSD Viewer for Mac(Visio繪圖檔案閱讀器)ViewMac繪圖
- Visio繪圖檔案閱讀器:VSD Viewer for Mac繪圖ViewMac
- iOS專案需要的App圖示規格要求、規格大小iOSAPP
- R語言中繪圖設定不輸出繪圖內容R語言繪圖
- MPAndroidChart繪製曲線圖、柱狀圖總結Android
- 繪圖、手勢綜合App繪圖APP
- fastadmin匯出圖片zip檔案AST
- 圖文件管理系統的價格是多少?彩虹圖文件管理系統
- 07-1SciPy繪圖工具的使用 scipy 積分求解與繪圖工具matplotlib.pyplot及scipy.misc 使用、檔案輸入輸出繪圖
- js如何讀取excel檔案,繪製echarts圖形。JSExcelEcharts