三角形卡片拼圖的演算法求助,這類似于什么演算法,給關鍵字搜索都行,謝謝大神們了。整了個標題吸引人謝謝。
幼兒園老師發了一疊正三角形卡片要求拼圖,目前有41張,有可能有遺失的卡片。卡片邊的圖 可以 兩兩組合 形成6種行為,老師沒有下發拼好后的參考圖形,所以可能是完整四邊形或五邊形或六邊形,也可能是其它異形。
我的想法是通過計算得到最小空閑邊的組合,從而得出最優拼圖解。但折騰未果。
41張卡片目前按:“卡片編號,邊1(底邊)圖形,邊2(邊1順時針1次)圖形,邊3圖形@下一個卡片..."的格式得到的字串如下:
//初始值定義
var tStrCard = "1,G2過馬路_右,D2電梯_右,Q2騎車_下@2,G2過馬路_右,D2電梯_右,Q2騎車_下@3,G2過馬路_右,D2電梯_右,Q2騎車_下@4,G2過馬路_右,D2電梯_右,Q2騎車_下@5,G2過馬路_右,D2電梯_右,Q2騎車_下@6,G2過馬路_右,D2電梯_右,Q2騎車_下@7,Q1騎車_上,G2過馬路_右,D1電梯_左@8,Q1騎車_上,G2過馬路_右,D1電梯_左@9,Q1騎車_上,G2過馬路_右,D1電梯_左@10,Q1騎車_上,G2過馬路_右,D1電梯_左@11,Q1騎車_上,G2過馬路_右,D1電梯_左@12,G1過馬路_左,C1出口_左,P1爬高_上@13,G1過馬路_左,C1出口_左,P1爬高_上@14,G1過馬路_左,C1出口_左,P1爬高_上@15,K1開車_上,D2電梯_右,P1爬高_上@16,K1開車_上,D2電梯_右,P1爬高_上@17,K1開車_上,D2電梯_右,P1爬高_上@18,K1開車_上,D2電梯_右,P1爬高_上@19,G1過馬路_左,C1出口_左,P1爬高_上@20,G1過馬路_左,C1出口_左,P1爬高_上@21,C2出口_右,P2爬高_下,G1過馬路_左@22,C2出口_右,P2爬高_下,G1過馬路_左@23,C2出口_右,P2爬高_下,G1過馬路_左@24,C2出口_右,P2爬高_下,G1過馬路_左@25,C2出口_右,P2爬高_下,G1過馬路_左@26,D1電梯_左,P2爬高_下,K2開車_下@27,D1電梯_左,P2爬高_下,K2開車_下@28,D1電梯_左,P2爬高_下,K2開車_下@29,D1電梯_左,P2爬高_下,K2開車_下@30,D1電梯_左,P2爬高_下,K2開車_下@31,D1電梯_左,P2爬高_下,K2開車_下@32,Q2騎車_下,K1開車_上,C1出口_左@33,Q2騎車_下,K1開車_上,C1出口_左@34,Q2騎車_下,K1開車_上,C1出口_左@35,Q2騎車_下,K1開車_上,C1出口_左@36,K2開車_下,C2出口_右,Q1騎車_上@37,K2開車_下,C2出口_右,Q1騎車_上@38,K2開車_下,C2出口_右,Q1騎車_上@39,K2開車_下,C2出口_右,Q1騎車_上@40,K2開車_下,C2出口_右,Q1騎車_上@41,K2開車_下,C2出口_右,Q1騎車_上";
//線下測驗可擺為6邊形的卡片組合,擺好后空閑的邊只有6條,此字串用于驗證程式(編號4 5 11 19 20 25)
var tStrCart6 = "4,G2過馬路_右,D2電梯_右,Q2騎車_下@5,G2過馬路_右,D2電梯_右,Q2騎車_下@11,Q1騎車_上,G2過馬路_右,D1電梯_左@19,G1過馬路_左,C1出口_左,P1爬高_上@20,G1過馬路_左,C1出口_左,P1爬高_上@25,C2出口_右,P2爬高_下,G1過馬路_左";
/*
完整卡片
卡片編號 1號邊(簽編號側的邊) 順時針2號邊 順時針3號邊
1 G2過馬路_右 D2電梯_右 Q2騎車_下
2 G2過馬路_右 D2電梯_右 Q2騎車_下
3 G2過馬路_右 D2電梯_右 Q2騎車_下
4 G2過馬路_右 D2電梯_右 Q2騎車_下
5 G2過馬路_右 D2電梯_右 Q2騎車_下
6 G2過馬路_右 D2電梯_右 Q2騎車_下
7 Q1騎車_上 G2過馬路_右 D1電梯_左
8 Q1騎車_上 G2過馬路_右 D1電梯_左
9 Q1騎車_上 G2過馬路_右 D1電梯_左
10 Q1騎車_上 G2過馬路_右 D1電梯_左
11 Q1騎車_上 G2過馬路_右 D1電梯_左
12 G1過馬路_左 C1出口_左 P1爬高_上
13 G1過馬路_左 C1出口_左 P1爬高_上
14 G1過馬路_左 C1出口_左 P1爬高_上
15 K1開車_上 D2電梯_右 P1爬高_上
16 K1開車_上 D2電梯_右 P1爬高_上
17 K1開車_上 D2電梯_右 P1爬高_上
18 K1開車_上 D2電梯_右 P1爬高_上
19 G1過馬路_左 C1出口_左 P1爬高_上
20 G1過馬路_左 C1出口_左 P1爬高_上
21 C2出口_右 P2爬高_下 G1過馬路_左
22 C2出口_右 P2爬高_下 G1過馬路_左
23 C2出口_右 P2爬高_下 G1過馬路_左
24 C2出口_右 P2爬高_下 G1過馬路_左
25 C2出口_右 P2爬高_下 G1過馬路_左
26 D1電梯_左 P2爬高_下 K2開車_下
27 D1電梯_左 P2爬高_下 K2開車_下
28 D1電梯_左 P2爬高_下 K2開車_下
29 D1電梯_左 P2爬高_下 K2開車_下
30 D1電梯_左 P2爬高_下 K2開車_下
31 D1電梯_左 P2爬高_下 K2開車_下
32 Q2騎車_下 K1開車_上 C1出口_左
33 Q2騎車_下 K1開車_上 C1出口_左
34 Q2騎車_下 K1開車_上 C1出口_左
35 Q2騎車_下 K1開車_上 C1出口_左
36 K2開車_下 C2出口_右 Q1騎車_上
37 K2開車_下 C2出口_右 Q1騎車_上
38 K2開車_下 C2出口_右 Q1騎車_上
39 K2開車_下 C2出口_右 Q1騎車_上
40 K2開車_下 C2出口_右 Q1騎車_上
41 K2開車_下 C2出口_右 Q1騎車_上
*/


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/218735.html
標籤:數據結構與算法
上一篇:vivo和三星合作研發芯片,奪下安卓市場最強商用5G芯片名號
下一篇:ssh免密
