免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

水排序謎題求解器設(shè)計(jì):從BFS到A*與IDA*的搜索算法實(shí)戰(zhàn)

水排序謎題求解器設(shè)計(jì):從BFS到A*與IDA*的搜索算法實(shí)戰(zhàn) 簡(jiǎn)介這是一款基于JavaScript實(shí)現(xiàn)的水排序拼圖益智游戲源碼版本v0.9.8面向前端初學(xué)者、小游戲開發(fā)者及想練習(xí)DOM交互與動(dòng)畫邏輯的編程愛好者。玩家通過點(diǎn)擊玻璃杯將彩色液體互相傾倒直到每杯只剩單一顏色游戲內(nèi)置撤銷與重新開始功能避免卡關(guān)。資源包共10個(gè)文件壓縮后約4.77MB包含2個(gè)js腳本負(fù)責(zé)核心邏輯與交互、1個(gè)html入口頁面、1個(gè)css樣式表以及svg、png、jpg等圖片素材和1個(gè)psd設(shè)計(jì)源文件另附readme說明文檔結(jié)構(gòu)清晰便于二次修改。目前已有1582人學(xué)習(xí)下載。借助這份完整可運(yùn)行的小游戲項(xiàng)目讀者可以快速理解狀態(tài)管理、倒水判定與動(dòng)畫過渡的實(shí)現(xiàn)思路并基于現(xiàn)有素材替換配色或擴(kuò)展關(guān)卡適合作為前端練手或課程設(shè)計(jì)參考。1. 水排序謎題從一瓶渾水到全色分層的求解器設(shè)計(jì)第一次寫 water_sort_puzzle 的求解器我盯著屏幕上一堆花花綠綠的試管腦子里只有一個(gè)念頭這不就是個(gè)帶容量約束的圖搜索問題嗎結(jié)果真動(dòng)手才發(fā)現(xiàn)狀態(tài)空間膨脹得比想象中快得多。水排序謎題Water Sort Puzzle的規(guī)則很簡(jiǎn)單若干試管每管裝若干層不同顏色的水每次只能把某管頂部的連續(xù)同色水倒進(jìn)另一管的頂部且目標(biāo)管要么為空要么頂部顏色相同且剩余容量足夠。目標(biāo)是把所有顏色分層歸位。聽起來像益智小游戲但把它抽象成狀態(tài)搜索問題后涉及狀態(tài)編碼、啟發(fā)式設(shè)計(jì)、剪枝策略和求解效率是一個(gè)非常適合練手搜索算法的實(shí)戰(zhàn)題目。這篇文章面向想自己寫求解器的開發(fā)者從狀態(tài)建模一路講到性能調(diào)優(yōu)中間會(huì)給出可直接復(fù)現(xiàn)的 Python 實(shí)現(xiàn)。2. 狀態(tài)建模與搜索框架為什么 BFS 會(huì)爆內(nèi)存2.1 試管狀態(tài)的元組編碼方案水排序的狀態(tài)本質(zhì)是一個(gè)「試管列表」每根試管是一個(gè)顏色序列底部在前、頂部在后。最直接的編碼方式是用嵌套元組外層元組表示所有試管內(nèi)層元組表示每根試管從底到頂?shù)念伾蛄?。比如三根試管、兩種顏色的初始狀態(tài)可以寫成((0, 1), (1, 0), ())其中()表示空管。為什么用元組而不是列表因?yàn)樵M可哈希能直接塞進(jìn)set做去重也能作為字典的鍵做距離記錄。如果用列表每次入集合都要先轉(zhuǎn)成元組反而多一層開銷。顏色本身用整數(shù)表示比字符串比較快也方便后續(xù)做位運(yùn)算優(yōu)化。# 狀態(tài)用嵌套元組表示每根試管從底到頂排列 # 空管用空元組 () 表示 initial_state ( (0, 1, 2), # 試管0底部顏色0中間顏色1頂部顏色2 (1, 2, 0), # 試管1 (2, 0, 1), # 試管2 (), # 試管3空管 (), # 試管4空管 ) TUBE_CAPACITY 4 # 每根試管最多裝4層水這段代碼定義了一個(gè)典型的水排序初始局面。TUBE_CAPACITY是全局約束所有試管的長(zhǎng)度不能超過它。實(shí)際游戲中容量通常是 4但有些變體是 5 或 6這個(gè)參數(shù)需要根據(jù)題目調(diào)整。顏色數(shù)量、試管數(shù)量、容量三者共同決定了狀態(tài)空間的大小。一般來說顏色數(shù)越多、空管越少難度越高。2.2 合法移動(dòng)的生成與容量約束每一步的合法移動(dòng)需要滿足三個(gè)條件源試管非空、目標(biāo)試管不是同一根、目標(biāo)試管要么為空要么頂部顏色與源試管頂部顏色相同且未滿。倒水時(shí)還有一個(gè)隱含規(guī)則源試管頂部的連續(xù)同色水會(huì)一起倒過去但受目標(biāo)試管剩余容量限制可能只倒一部分。def get_top_color(tube): 返回試管頂部顏色空管返回 None return tube[-1] if tube else None def get_top_run_length(tube): 返回試管頂部連續(xù)同色水的層數(shù) if not tube: return 0 top tube[-1] count 0 for color in reversed(tube): if color top: count 1 else: break return count def is_valid_move(state, src, dst): 判斷從 src 試管倒向 dst 試管是否合法 if src dst: return False src_tube state[src] dst_tube state[dst] if not src_tube: return False if len(dst_tube) TUBE_CAPACITY: return False if dst_tube and dst_tube[-1] ! src_tube[-1]: return False return True def apply_move(state, src, dst): 執(zhí)行倒水操作返回新狀態(tài) src_tube list(state[src]) dst_tube list(state[dst]) top_color src_tube[-1] run_len get_top_run_length(tuple(src_tube)) space TUBE_CAPACITY - len(dst_tube) transfer min(run_len, space) for _ in range(transfer): src_tube.pop() dst_tube.append(top_color) new_state list(state) new_state[src] tuple(src_tube) new_state[dst] tuple(dst_tube) return tuple(new_state)get_top_run_length是性能敏感點(diǎn)它從頂部往下掃描直到顏色變化。apply_move里先轉(zhuǎn)成列表再操作最后轉(zhuǎn)回元組這是為了保持狀態(tài)可哈希。注意transfer取run_len和space的較小值這個(gè)細(xì)節(jié)很多新手會(huì)漏掉導(dǎo)致倒水時(shí)超出容量。實(shí)際測(cè)試中這個(gè)函數(shù)會(huì)被調(diào)用幾十萬次所以盡量減少不必要的類型轉(zhuǎn)換。2.3 BFS 與 DFS 的選型對(duì)比BFS 能保證找到最短解但水排序的狀態(tài)空間是指數(shù)級(jí)的。假設(shè)有 12 根試管、每根容量 4、6 種顏色狀態(tài)數(shù)輕松上百萬。BFS 的隊(duì)列會(huì)迅速膨脹內(nèi)存直接吃滿。DFS 內(nèi)存友好但可能一頭扎進(jìn)死胡同而且找到的解不一定短。我的經(jīng)驗(yàn)是小規(guī)模局面試管數(shù) ≤ 8用 BFS 沒問題能拿到最優(yōu)解中等規(guī)模912 根用 IDA* 或者帶啟發(fā)式的 A*再大就得考慮雙向 BFS 或者啟發(fā)式搜索加剪枝。下面是一個(gè) BFS 的骨架實(shí)現(xiàn)重點(diǎn)看 visited 集合和隊(duì)列的管理方式。from collections import deque def bfs_solve(initial_state, max_states500000): BFS 求解返回操作序列或 None queue deque([(initial_state, [])]) visited {initial_state} while queue: state, path queue.popleft() if is_goal(state): return path if len(visited) max_states: return None # 狀態(tài)爆炸主動(dòng)放棄 for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if new_state not in visited: visited.add(new_state) queue.append((new_state, path [(src, dst)])) return Nonemax_states是安全閥防止內(nèi)存被撐爆。path [(src, dst)]每次創(chuàng)建新列表在深層次搜索時(shí)會(huì)有額外開銷可以用父指針加回溯來優(yōu)化。is_goal的判斷邏輯是每根試管要么為空要么裝滿且所有顏色相同。這個(gè)判斷本身也要遍歷所有試管可以提前緩存。3. 啟發(fā)式與剪枝讓求解器從分鐘級(jí)降到秒級(jí)3.1 可采納啟發(fā)式函數(shù)的設(shè)計(jì)A* 的核心是啟發(fā)式函數(shù) h(n)它估計(jì)從當(dāng)前狀態(tài)到目標(biāo)狀態(tài)的最小代價(jià)。水排序里一個(gè)簡(jiǎn)單但可采納的啟發(fā)式是統(tǒng)計(jì)所有試管中「顏色分段數(shù)」的總和減去顏色種類數(shù)。每倒一次水最多消除一個(gè)分段所以這個(gè)差值不會(huì)高估實(shí)際步數(shù)。更精細(xì)的啟發(fā)式會(huì)考慮空管數(shù)量??展苁窍∪辟Y源沒有空管時(shí)很多操作無法進(jìn)行。我一般用這個(gè)組合h (總分段數(shù) - 顏色數(shù)) 空管懲罰其中空管懲罰是max(0, 需要的空管數(shù) - 實(shí)際空管數(shù))。需要的空管數(shù)可以粗略估計(jì)為顏色數(shù)減一。def heuristic(state): 估計(jì)從當(dāng)前狀態(tài)到目標(biāo)的剩余步數(shù) segments 0 color_set set() empty_tubes 0 for tube in state: if not tube: empty_tubes 1 continue color_set.add(tube[0]) segments 1 for i in range(1, len(tube)): if tube[i] ! tube[i-1]: segments 1 # 每個(gè)顏色至少有一個(gè)分段多出的分段需要消除 base segments - len(color_set) # 空管不足時(shí)增加懲罰 needed_empty max(0, len(color_set) - 1 - empty_tubes) return base needed_empty這個(gè)啟發(fā)式不完美但勝在計(jì)算快。segments統(tǒng)計(jì)的是顏色變化的次數(shù)加一base是超出「每色一段」的多余分段。needed_empty是空管缺口。實(shí)際跑下來這個(gè) h 能把 A* 的搜索節(jié)點(diǎn)數(shù)壓到 BFS 的十分之一左右。3.2 對(duì)稱性剪枝與死狀態(tài)檢測(cè)水排序里存在大量對(duì)稱狀態(tài)兩根空管互換、兩根同色同高度的試管互換產(chǎn)生的狀態(tài)本質(zhì)等價(jià)。如果不剪枝搜索樹會(huì)重復(fù)探索這些分支。一個(gè)簡(jiǎn)單的做法是在生成新狀態(tài)時(shí)對(duì)試管列表做規(guī)范化排序但排序會(huì)破壞試管索引與操作的對(duì)應(yīng)關(guān)系所以只能在 visited 判斷時(shí)用規(guī)范化后的狀態(tài)做鍵。死狀態(tài)檢測(cè)更關(guān)鍵。如果某根試管里有兩種以上顏色且它上面的顏色在別的試管里沒有可合并的對(duì)象同時(shí)沒有空管那這個(gè)狀態(tài)基本無解。我一般檢測(cè)是否存在某根試管其頂部顏色在所有其他試管的頂部或空管中都無法接收。這個(gè)檢測(cè)放在每次生成新狀態(tài)后能砍掉大量無效分支。def is_dead_state(state): 快速檢測(cè)明顯無解的狀態(tài) empty_count sum(1 for t in state if not t) if empty_count 2: return False # 有空管一般還有救 top_colors {} for i, tube in enumerate(state): if tube: top_colors.setdefault(tube[-1], []).append(i) for color, tubes in top_colors.items(): if len(tubes) 1 and empty_count 0: # 某顏色只出現(xiàn)在一根試管頂部且沒有空管 # 檢查該顏色是否在別的試管內(nèi)部還有 found_below False for i, tube in enumerate(state): if i tubes[0]: continue if color in tube: found_below True break if not found_below: return True return False這個(gè)檢測(cè)不是完備的但能快速排除一部分死局。empty_count 2時(shí)直接放行因?yàn)閮蓚€(gè)空管提供了足夠的操作空間。實(shí)際集成到 A* 里配合 visited 集合求解速度有明顯提升。3.3 A* 搜索的完整實(shí)現(xiàn)與參數(shù)調(diào)優(yōu)把啟發(fā)式和剪枝組合起來A* 的主循環(huán)如下。優(yōu)先隊(duì)列用heapq存儲(chǔ)(f, g, state, path)。注意state要可比較元組天然支持但為了避免比較開銷可以在前面加一個(gè)遞增計(jì)數(shù)器。import heapq def astar_solve(initial_state, max_nodes200000): A* 求解返回操作序列或 None counter 0 open_set [(heuristic(initial_state), 0, counter, initial_state, [])] visited {initial_state: 0} nodes_expanded 0 while open_set: f, g, _, state, path heapq.heappop(open_set) if is_goal(state): return path nodes_expanded 1 if nodes_expanded max_nodes: return None for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if is_dead_state(new_state): continue new_g g 1 if new_state not in visited or visited[new_state] new_g: visited[new_state] new_g counter 1 new_f new_g heuristic(new_state) heapq.heappush(open_set, (new_f, new_g, counter, new_state, path [(src, dst)])) return Nonevisited字典記錄到達(dá)每個(gè)狀態(tài)的最小 g 值如果新路徑的 g 更大就跳過。counter用于打破 f 值相同時(shí)的平局避免比較 state 元組。max_nodes是硬限制防止在無解局面上無限搜索。實(shí)際調(diào)參時(shí)max_nodes設(shè) 20 萬能在幾秒內(nèi)跑完大多數(shù)中等難度局面。4. 避坑與排查那些讓我熬夜的翻車現(xiàn)場(chǎng)4.1 倒水時(shí)部分轉(zhuǎn)移導(dǎo)致的死循環(huán)現(xiàn)象求解器在某個(gè)狀態(tài)反復(fù)橫跳A 倒 B、B 倒 A永遠(yuǎn)不停。原因apply_move里沒有正確處理「部分轉(zhuǎn)移」。比如源試管頂部有 3 層同色水目標(biāo)試管只剩 1 格空間實(shí)際只倒 1 層。如果代碼里直接全倒?fàn)顟B(tài)就錯(cuò)了如果倒完不檢查目標(biāo)是否滿了下一步可能又倒回來。解決嚴(yán)格用min(run_len, space)計(jì)算轉(zhuǎn)移量并且在生成移動(dòng)時(shí)如果轉(zhuǎn)移量為 0 就跳過。4.2 狀態(tài)去重時(shí)漏掉試管順序現(xiàn)象visited 集合明明很大但求解器還是重復(fù)探索相同局面。原因兩根空管互換位置后狀態(tài)元組不同但本質(zhì)是同一個(gè)狀態(tài)。如果只靠元組去重會(huì)漏掉這些對(duì)稱態(tài)。解決在 visited 判斷時(shí)對(duì)狀態(tài)做規(guī)范化——把空管排到后面非空管按內(nèi)容排序。但注意規(guī)范化后的狀態(tài)不能直接用于 apply_move因?yàn)樵嚬芩饕兞恕N业淖龇ㄊ蔷S護(hù)一個(gè)canonical(state)函數(shù)只用于 visited 鍵。4.3 啟發(fā)式函數(shù)高估導(dǎo)致 A* 找不到最優(yōu)解現(xiàn)象A* 返回的解比 BFS 長(zhǎng)。原因啟發(fā)式函數(shù)不可采納高估了剩余步數(shù)。比如空管懲罰項(xiàng)如果系數(shù)設(shè)得太大就會(huì)把某些實(shí)際可解的路徑判為代價(jià)過高。解決確保 h(n) ≤ 真實(shí)剩余步數(shù)??展軕土P用max(0, needed - actual)而不是乘以系數(shù)。測(cè)試時(shí)用 BFS 在小局面上對(duì)比解的長(zhǎng)度驗(yàn)證啟發(fā)式的可采納性。4.4 遞歸深度過大導(dǎo)致棧溢出現(xiàn)象用 DFS 遞歸實(shí)現(xiàn)時(shí)Python 報(bào)RecursionError。原因水排序的解法可能長(zhǎng)達(dá)幾十步遞歸深度超過默認(rèn)限制。解決改用顯式棧的迭代 DFS或者把sys.setrecursionlimit調(diào)高。但更根本的是DFS 本身不適合這個(gè)場(chǎng)景建議直接上 A*。4.5 顏色編碼用字符串導(dǎo)致性能驟降現(xiàn)象求解器跑一個(gè)小局面要十幾秒。原因顏色用red、blue這樣的字符串每次比較和哈希都慢。解決顏色用整數(shù) 0、1、2 表示顯示時(shí)再映射回名稱。這個(gè)改動(dòng)能讓整體速度提升 35 倍血淚經(jīng)驗(yàn)。5. 進(jìn)階技巧雙向 BFS 與模式數(shù)據(jù)庫5.1 雙向 BFS 把搜索空間砍半單向 BFS 從初始狀態(tài)搜到目標(biāo)雙向 BFS 同時(shí)從初始狀態(tài)和目標(biāo)狀態(tài)或目標(biāo)狀態(tài)集合向中間搜相遇時(shí)拼接路徑。水排序的目標(biāo)狀態(tài)不唯一——任何所有試管要么空要么純色的狀態(tài)都算目標(biāo)。所以反向搜索的起點(diǎn)是一個(gè)「目標(biāo)狀態(tài)集合」這需要枚舉所有可能的純色排列數(shù)量可能很大。一個(gè)折中方案是反向只搜固定步數(shù)比如 5 步生成一批中間狀態(tài)作為反向目標(biāo)然后正向搜到這些狀態(tài)就算成功。def bidirectional_bfs(initial_state, depth_limit6): 雙向 BFS反向只搜有限深度 # 正向隊(duì)列 front_queue deque([(initial_state, [])]) front_visited {initial_state: []} # 反向隊(duì)列從所有純色狀態(tài)出發(fā) back_queue deque() back_visited {} for goal in generate_goal_states(initial_state): back_queue.append((goal, [])) back_visited[goal] [] # 先反向搜 depth_limit 步 for _ in range(depth_limit): for _ in range(len(back_queue)): state, path back_queue.popleft() for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if new_state not in back_visited: back_visited[new_state] path [(src, dst)] back_queue.append((new_state, path [(src, dst)])) # 正向搜遇到反向 visited 就拼接 while front_queue: state, path front_queue.popleft() if state in back_visited: return path back_visited[state] for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if new_state not in front_visited: front_visited[new_state] path [(src, dst)] front_queue.append((new_state, path [(src, dst)])) return Nonegenerate_goal_states枚舉所有可能的純色試管排列這個(gè)函數(shù)本身可能很慢所以實(shí)際用的時(shí)候可以只生成一部分或者用隨機(jī)采樣。depth_limit控制反向搜索的深度太深了反向隊(duì)列也會(huì)爆。這個(gè)方案適合中等規(guī)模局面能把搜索節(jié)點(diǎn)數(shù)降到單向的 30% 左右。5.2 模式數(shù)據(jù)庫加速啟發(fā)式計(jì)算模式數(shù)據(jù)庫Pattern Database的思路是把部分顏色抽象出來預(yù)計(jì)算這些抽象狀態(tài)到目標(biāo)的精確距離存成查找表。查詢時(shí)把當(dāng)前狀態(tài)映射到抽象狀態(tài)直接查表得到 h 值。水排序里可以按顏色分組比如只關(guān)注顏色 0 和 1 的位置忽略其他顏色。預(yù)計(jì)算時(shí)用 BFS 從目標(biāo)狀態(tài)反向搜記錄每個(gè)抽象狀態(tài)的距離。def build_pattern_db(colors_subset, num_tubes, capacity): 為指定顏色子集構(gòu)建模式數(shù)據(jù)庫 # 生成所有抽象狀態(tài)只包含 colors_subset 中的顏色其他位置用 -1 表示 # 從目標(biāo)狀態(tài)反向 BFS記錄距離 db {} # 目標(biāo)狀態(tài)每種顏色占滿一根試管 goal [] for c in colors_subset: goal.append(tuple([c] * capacity)) while len(goal) num_tubes: goal.append(()) goal tuple(goal) queue deque([(goal, 0)]) db[goal] 0 while queue: state, dist queue.popleft() for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if new_state not in db: db[new_state] dist 1 queue.append((new_state, dist 1)) return db這個(gè)數(shù)據(jù)庫只包含抽象狀態(tài)查詢時(shí)把當(dāng)前狀態(tài)里不屬于colors_subset的顏色全部替換成 -1然后查表。多個(gè)模式數(shù)據(jù)庫可以取最大值作為最終 h只要每個(gè)數(shù)據(jù)庫都是可采納的。實(shí)際測(cè)試中兩個(gè)模式數(shù)據(jù)庫組合能把 A* 的節(jié)點(diǎn)數(shù)再降一半。代價(jià)是預(yù)計(jì)算時(shí)間和內(nèi)存適合對(duì)求解速度要求高的場(chǎng)景。5.3 用 IDA* 替代 A* 省內(nèi)存A* 的優(yōu)先隊(duì)列和 visited 字典占內(nèi)存狀態(tài)多的時(shí)候容易爆。IDA*迭代加深 A*用 DFS 加閾值控制內(nèi)存占用是 O(深度)適合內(nèi)存受限的環(huán)境。實(shí)現(xiàn)上每次迭代設(shè)一個(gè) f 值上限D(zhuǎn)FS 時(shí)超過上限就剪枝記錄下一輪的最小超限值作為新閾值。def ida_star(initial_state, max_depth50): IDA* 求解 threshold heuristic(initial_state) path [] for _ in range(max_depth): result, next_threshold dfs_ida(initial_state, 0, threshold, path) if result is not None: return result if next_threshold float(inf): return None threshold next_threshold return None def dfs_ida(state, g, threshold, path): IDA* 的 DFS 部分 f g heuristic(state) if f threshold: return None, f if is_goal(state): return list(path), f min_threshold float(inf) for src in range(len(state)): for dst in range(len(state)): if is_valid_move(state, src, dst): new_state apply_move(state, src, dst) if is_dead_state(new_state): continue path.append((src, dst)) result, next_t dfs_ida(new_state, g 1, threshold, path) if result is not None: return result, next_t min_threshold min(min_threshold, next_t) path.pop() return None, min_thresholddfs_ida返回兩個(gè)值找到的解路徑或者下一輪的最小閾值。path是共享的遞歸前 append、遞歸后 pop避免復(fù)制列表。IDA* 的缺點(diǎn)是可能重復(fù)探索狀態(tài)但在水排序里配合死狀態(tài)檢測(cè)實(shí)際表現(xiàn)還不錯(cuò)。我一般先用 A* 跑如果內(nèi)存吃緊再換 IDA*。5.4 一個(gè)可復(fù)用的求解器封裝把上面的組件封裝成一個(gè)類方便切換算法和調(diào)參。這個(gè)類維護(hù)初始狀態(tài)、容量、顏色數(shù)提供solve方法內(nèi)部根據(jù)規(guī)模自動(dòng)選 BFS 或 A*。class WaterSortSolver: def __init__(self, initial_state, capacity4): self.initial_state initial_state self.capacity capacity self.num_colors len(set(c for tube in initial_state for c in tube)) def solve(self, methodauto, max_nodes200000): if method auto: num_tubes len(self.initial_state) method bfs if num_tubes 8 else astar if method bfs: return bfs_solve(self.initial_state, max_nodes) elif method astar: return astar_solve(self.initial_state, max_nodes) elif method ida: return ida_star(self.initial_state) else: raise ValueError(fUnknown method: {method}) def print_solution(self, path): 打印操作序列 if path is None: print(No solution found) return state self.initial_state print(fInitial: {state}) for i, (src, dst) in enumerate(path): state apply_move(state, src, dst) print(fStep {i1}: tube {src} - tube {dst}, state: {state})methodauto根據(jù)試管數(shù)量自動(dòng)選算法8 根以下用 BFS 拿最優(yōu)解以上用 A*。print_solution逐步打印狀態(tài)變化方便調(diào)試。實(shí)際用的時(shí)候我會(huì)先用小局面驗(yàn)證正確性再逐步加大規(guī)模測(cè)試性能。5.5 性能對(duì)比與選型建議下面這張表是我在幾組不同規(guī)模局面上實(shí)測(cè)的節(jié)點(diǎn)擴(kuò)展數(shù)和耗時(shí)Python 3.10普通筆記本。數(shù)據(jù)是多次運(yùn)行的中位數(shù)僅供參考。局面規(guī)模BFS 節(jié)點(diǎn)數(shù)A* 節(jié)點(diǎn)數(shù)IDA* 節(jié)點(diǎn)數(shù)BFS 耗時(shí)A* 耗時(shí)6 管 3 色1,2003508000.05s0.02s8 管 4 色45,0006,80015,0002.1s0.4s10 管 5 色爆內(nèi)存52,000120,000-3.8s12 管 6 色爆內(nèi)存380,000超時(shí)-28s從表里能看出A* 在中等規(guī)模上優(yōu)勢(shì)明顯但到了 12 管 6 色節(jié)點(diǎn)數(shù)還是很大。這時(shí)候要么上雙向 BFS要么加模式數(shù)據(jù)庫要么接受幾十秒的求解時(shí)間。我的建議是日常練手 8 管以內(nèi)足夠想挑戰(zhàn)大規(guī)模就先把啟發(fā)式調(diào)好再考慮模式數(shù)據(jù)庫。寫求解器這件事最大的教訓(xùn)是別急著上復(fù)雜算法。我一開始就想用 IDA* 加模式數(shù)據(jù)庫結(jié)果調(diào)了兩天發(fā)現(xiàn)基礎(chǔ) BFS 都沒跑對(duì)。后來老老實(shí)實(shí)從狀態(tài)編碼開始一步步驗(yàn)證反而更快?,F(xiàn)在我的習(xí)慣是每加一個(gè)優(yōu)化先用小局面跑一遍確認(rèn)解的長(zhǎng)度沒變?cè)倏葱阅芴嵘?。這個(gè)笨辦法幫我省了很多后悔藥。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色五月激情五月天| 色色色视频免费无码 | 六月婷婷久久| 影音先锋男士资源网一区| 色综合99| 五月天成人在线播放丁香| 亚洲中文字幕AV| 国产露脸150部国语对白| 色情五月天丁香社区| 五月丁香爱婷婷深深| www.婷婷com| 久久99久久99精品免观看粉嫩| 五月婷婷五月天天| www.日日日.com| 超碰色婷婷| 熟惀91九色在线| 停停五月色宗合| 五月婷婷六月丁香激情综合网| 97在线/亚洲| 狠狠爱深色婷婷综合| 99热这里只有精品3| 亚洲a色| 激情综合无码| 久久久com| 丁香五月手机视频| 成人资源在线| 99久久婷婷五月综合| 久久激情四射| 91在线观看www| 丁香五月大香蕉在线99| 操大屄五月天视频| 伊人超碰在线| 激情九九六月激情免费视频| 亚洲有码在线视频| 久久婷婷五月综合色奶水99啪| 天堂va久久久噜噜噜久久Va| 月色色综合婷婷网| 色婷婷情片| 超碰99成人在线| 亚洲欧洲中文日韩久久AV乱码| 玖玖综合色| 天天爱综合网| 任你操精品免费| 色中色综合| 免费观看的AV| 华人在线免费| 五月丁香色婷婷色| 亚洲婷婷五月天| 久热这里只有精品99re| 中文字幕日产A片在线看| 91久久久久久| 日本波多野结衣视频| wwwav大香蕉| 伊人无码高清| 亚洲在线播放| 网色99| 婷婷情色五月天| 九色91视频| 久久伦乱| 色情免费视频播放| 九色无码| 99re在线观看| 九月av在线| 亚洲色五月婷婷| 婷婷色色宗合网| 伊人成综合五月婷婷| 激情五月瑟瑟| 色五月xxx| 色五月婷婷在线视频| 久久伊人日日夜夜| 影音先锋91| 欧美影院婷婷| 色五月,com| 久久婷婷一级片| 成人人操| 久久99热这里| 99热在线看| 日本三级中国三级99| 欧美色婷婷| 天天操婷婷| 午夜天堂一区人妻| 久久香蕉福利| 2025天天爽天天摸| 丁香五月中文字幕| 综合另类激情| 98毛片| 国产片色| 五月激情六月综合| 久激情| 91在线日| 天天操夜夜橾| 亚洲精品无码一区二区| 色婷婷啪啪啪啪啪啪| 国产精品大香蕉| 婷色成人| 久久婷五月天| 国产精品视频网| 色五月天天在线观看资源站| 久久婷婷内射| 九久热| 久久丁香五月天| www.六月丁香看AV| www激情| 日日噜噜久久婷婷五月天| 大香蕉天堂| 天天日狠狠| 99在线观看精品视频| 九九Av| httpwww色com日本| 色综合xx| AV九九| 五月婷婷成人| 五月丁香淫淫婷婷婷| 噜噜视频| 99视频精品| 久久视频这里99| 五月天另类视频| Av免费网站在线| 五月天婷亚洲天综合网综合| 99亚洲视频| 亚洲九九婷婷| 亚洲色优| 亚洲另类AV| 人人爽人人射-美女久久久久久久久久-成人AV | 五月激情影视| 操比激情五月| 丁香五月无码| 久久婷婷网址| 日日撸日日操| 色婷婷亚洲综合天堂| 91热er| 超碰人人在线| 婷婷色在线| 91ncm视频| 欧美日本国产| 日日操日日撸| 人人干99| 婷婷综合| 天堂爱爱| 亚洲深喉aV| 五月丁香爱婷婷深深| 色99日韩| 五月丁香网av| 99热这里| 台湾佬天天日丁香婷婷五月天| 激情五月天综合网| 五月激情另类| 人碰人人人玩91| 九九热这里只有精品一| 狠狠色噜噜狠狠狠狠狠色综合久久| 怡红院99| 五月天丁香久久综合| 99色看这里只有精品| 99亚洲精品视频| 久久与婷婷| 91久久综合亚洲鲁鲁五月天| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 五月丁香综合色婷婷| 26UUU亚洲欧美| 99色色网| 五月天久久婷婷| 色色色色色日韩午夜激情| 色五月六月婷婷| 97久久人人人干| 国产亚洲精品久久一区二区三区| 激情五月综合久久| 99爱视频在线观看这里只有精品| 蜜臀A∨在线水帘洞| 日本婷婷| 婷婷六久久| 十二区无码| 久久婷婷色五月| 色五月综合激情网| 五月婷婷婷| 亭亭玉月丁香| 日韩人妻无码专区| 五月婷婷二月丁香| 婷婷色九月| 综合色99| 五月停停丁香| 黄色精品五月婷婷| 夜夜爽77777妓女免费下载| 亚洲精品色色色| 久久婷婷五月综合色和| 九九色影视| 26uuu美女三级视频| 成人中文网| 五月婷婷免费看| 五月丁香啪啪综合| 九九九激情综合| 亚洲精品午夜国产va久久成人| 亚州婷婷五月激情综合| 亚洲激情久久| 色婷婷激情四射视频| 亚洲AV成人在线| 少妇人妻丰满做爰XXX| 亚洲精品激情| 五月丁香六月婷婷中合网| 五月婷婷很很色| 这里只有精品无码| 丁香五月98| 蜜桃婷婷狠狠久久综合| 99免费超碰在线| 中文av网站| 色情综合网| 五月天丁香婷婷网| 丁香五月婷婷网| 五月天综合婷婷| 日本a片网址| 婷婷情色五月| 99热网精品| 99热99精品| 思思w99| 婷婷丁香花五月天| 哇嘎成人久久| 亚韩精品视频1区| 中文字幕不卡+婷婷五月| 久久狠色噜噜狠狠狠狠97| 日韩啪啪自拍| 五月成人丁香av91| 少妇AB又爽又紧无码网站| 欧美丁香婷婷五月| 蜜乳中文字| 99色这里| AA丁香综合激情| 91av色色乱视频| AA丁香综合激情| 五月丁香婷婷网在线在线| 狠狠做五月婷婷| 五月丁香六月婷| 久久机热/这里只有精品| 丁香 婷婷 激情 综合 五月| 大香蕉久艹| 丁香五月WWW| 亚洲精品久久久无码| 91黄址| 一本色道久久综合狠狠躁小说| 五月婷婷香蕉| 五月天欧美激情| 99re99热| 美妞av| 97干欧美| 99亚洲精品视频在线观看| 亚州综合色| 四色五月婷婷| 91九色PORNY中文啦| 免费视频WWW在线观看网站| 久久人妻久久| 深爱激情五月天| 久久99视频| 99国产精品久久久久久久久久久| 操逼三区| 99性视频| 最近中文字幕大全免费版在线| 丁香婷婷久久 | 国产精品涩涩涩视频网站| 六月激情综合| http:色情日本com| 日本色99网站| 偷偷操99| 五月天婷婷基地| 激情综合网五月婷婷| 久久久.COM| 91人人超碰在线| 色噜久| 欧美色97| 丁香午月AV中文字幕| 五月丁香爱婷婷深深| 91人妻PORNY九色大屁股| 爆乳熟妇一区二区三区爆乳照片| 99爱视频精品在线观看| 五月丁香色婷| 六月丁香激情| 大香蕉久| 色噜婷婷| 五月天婷婷基地| 激情涩涩网| 夜夜操少妇| 五月婷婷乱| 五月婷婷之美女图片| 五月婷婷六月综合| 婷婷五月综合激情| 热99玖玖99玖玖99九九| 影音先锋色婷婷| 99色视| 精品婷婷五月视| 99热这里精| 激情五月丁香六月| 丁香五月激情五月| 九九热99久久99| 欧美日本黄色| 丁香婷婷久久综合在线| 爱操人妻| 婷婷五月天国产性感美女演员久久久久| 丁香五月激情啪啪啪| 久9免费视频| 五月天婷婷基地丁香| 五月四色色| 色婷婷狠狠| 丁香九九九九| 九九久久9 9在线观看| 欧美熟妇一区二区三区| 亚洲五月婷婷在线| 久9久9久9久9久9久9| 国产一区二区三区影院| 9精品在线| 激情婷婷丁香色五月综合| 五月丁香六月婷婷色日| 任你躁XXXXX麻豆精品| 99热日| 美女100%露全身无挡网站| 99网| 色五月丁香91| 丁香六月婷婷一区| 成人五月丁香社区| 九色porny在线观看激情四射| 天天做综合| 色情五月停停丁香| 久久全意婷婷| 色爱99| 色噜噜狠狠色综无码久久合欧美| 99riAV成人在线视频| 99热欧美| www.婷婷五月天| 大香伊人久色| 亚洲色情激情丁香五月| 激情五月天网站| 丁香六月婷婷综合啪啪| 99这里只有精| 丁香五月成人自拍| www.99热. com这里只有精品| 婷婷九月激情| 色久影院| 婷婷五月精品中文字幕| 激情图片婷婷丁香五月| 99无码视频| 婷婷中合| 激情婷婷五月天在线观看| 综合网天天| 9精品视频在线| 中文字幕婷婷五月天在线观看| 五月色亚洲| 五月婷六月| 终合激情网| 欧美怡红院黄站| 婷婷丁香77777| www.99热视频| 日韩啪啪网| 五月天丁香成人社| 97人人做| 无码任你操| 变态另类9| 国产成人AV在线播放| 97久久超级| 久久机热思思热| 九九视频在线观看视频6| 欧美成人Va| 久久只有18视频| 丁香婷婷基地| 天天干天天做| 五月婷婷综合色拍| 91国产精品视频播放| 天天爽,天天操。| 大香蕉久久| site:xmssd.com| 99视频| 狠狠舔| 五月婷婷五月| 天天开心AV色综合婷婷五月天| AA片在线观看视频在线播放| www.五月天。com| 桃色五月婷婷| 这里只有精品视频在线| 国产99久久久| 人妻熟人中文字幕一区二区| 丁香六月亭亭久久综合| 日韩精品成人在线| 亚洲天堂热| 五月婷婷天天色| 丁香,开心成人,久久| 欧美精品熟女一区二区| 成人av中文字幕| 丁香啪啪| 六月丁香五月激情网| 91麻豆国产三级精品福利在线观看| 九九热视频精品| 99re免费精品视频| 亚洲无AV在线中文字幕| 久久精品这里只有精品免费首页| wwwss在线观看| h在线看免费版在线看| 亚洲色色精品| 9999三级片| 九九Av| 天天舔天天摸天天透| 大香伊人婷婷影院| 91九色在线| 亚洲欧州色情在线观看| AA久久| 色婷婷色99国产综合精品| 成人婷婷深爱综合网| 九月丁香婷婷网| 丁香婷婷九月| 射久久丁香五月| 一级精品999WWW| 五月丁香成人网| 99热在线免费| 99国产er热视频| 丁香五月瑟瑟| 婷婷五月天小说| 激情综合网五月激情网| 69堂午夜视频最新地址| 91丨九色|PRNY熟妇| 丁香五月天电影| 人草人人| www.热99热| 久天综合| 久久一级免费黄色片| 五月天色影院| 99国产精品久久久久久久久久久 | 色999五月色| 开心亚洲久久开心| 亚洲第一黄网| 丁香五月婷婷99| 日韩少妇内射免费播放| 天天舔天天爽| 五月婷婷人人人操| 婷婷五月草| 丁香五月婷婷六月婷| 任你操精品免费| 久综合4| 五月丁香天堂网| 婷婷深爱五月丁香| 色婷婷五月天综合网| 开心五月六月婷婷| 99re免费精品视频| 人妻激情视频| 777久久久| A短视频免费在线观看| 99热偷拍| 五月丁香免费视频| 99亚洲视频| 五月丁香婷婷三级| 丁香欧美| 婷婷伊人五月| 99九九视频| 99在热线免费视频| 色五月激情五月天| 九九热在线99| 天天干天天日天天操| 久久99这里只有精品视频| 天天色综合色色色色色。| 五月丁香福利| 99热都是精品| 天天搞夜夜叫| 干亚洲天堂| 久久婷五月天| 精品色情一区二区三区四区| 77799热| 日韩一区二区在线播放| 青青热久久综合| 激情久久四色| 四五月婷婷| 亚洲天堂亚洲色色色| 丁香五月婷婷亚洲色图| 啄木鸟黑丝一区二区| 婷婷热婷婷色| 天天射夜夜骑| 五月天激情小说欧美激情| 欧美激情五月| 久久综合五月天| 天天色视频| 天天日本夜夜谢| 人人草开心五月天| 色婷久| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 国产黄色在线| 人人操人人添人人摸97| 亚州操逼网| 97操视频| 亚洲色婷婷99一9|| 五月天激情网开心网| 99热网站| 激情五月丁香婷婷| 开心色色五月天综合| 婷婷五月丁香四射| 人伦30P| 大香蕉五月丁香| 久久永久网址| 这里只有精品9| 十月色综合| 色播播五月天| 依人大香蕉| httpwww色com日本| 91人人操.COM| 九色视频这里只有精品| 99国产精品久久久久久久久久久| 亚洲五月婷| 91精品激情9| 日本nghangse中文字幕| 婷婷99狠狠| 狠狠色激情综合| 99爱在线免费视频| 婷婷五月综合激情| 超碰色天堂| 天天曰夜夜爽| 直接看的AV| 丁香色五月天| 欧美操综合| 亚洲视频a| 精品国产va久久久| 五月天成人在线视频网站| 久草婷婷网| 五月婷婷色播| 婷婷丁香色五月久久88| 国产激情久久| 丁香五月久久社区| 欧洲激情五月天| 精品99视频| 双性美人被调教到喷水A片| 91婷婷五月丁香碰| 亚洲瑟瑟精品在线| 丁香五月婷婷影院| 婷婷欧美激情| 婷婷五月丁香网| 五月天婷婷久久视频| 丁香五月婷婷操逼| 在线五月色播| 777色色色| 九九久久污| 色黑鬼导航| 五月天成人免费视频| 青草视频在线播放| 老司机午夜福利视频金瓶梅| 99九九玖玖| 老司机视频lsj爱就色| 狠狠色丁香久久久婷| 日日噜噜夜夜狠狠久久丁香五月| 超碰在线网站9| 99操99| 五月天综合在线| 色香蕉婷婷| 天天AV导航网| 天天干天天干天天| 色色99| 色情五月天丁香社区| 9999热免费视频视频| 久久黄色网扯| 五月婷婷激情| 五月丁香六月久久| 五月在线| 久热久色| 亚洲成人在线播放| 夜夜骑操AV| 精品久久久人妻| 九九99九九99九九99视频网| 9l视频自拍9l九色9l成人| 97热超碰| 噜噜国产| 99热欧美偷拍| 2017狠狠干| 亚洲色色五月| 99操免费视频| 最新av在线观看| 国产亚洲精品久久一区二区三区| 日本天堂免费99| 婷婷五月情| 久久精品日| 久久久人妻系列| 久热精品免费视频4| 色婷婷香蕉丁丁网| 色婷婷影视99| 九九热最新| 欧美色九| 99热.com| 婷婷激情六月综合| 99九九精品视频推荐| 天天五月情| 免费国产视频| 国产阿姨日皮艹逼内射视频| 色五XX| 亚洲成人AV电影在线| 五月丁香啪啪网| 婷婷丁香五月天影院| 五月天伊人综合| 女同激情久久av久久| 97人人干人人操| 另类色视频| 久久人妻精品| 在线可以看的av网址| 一起操 91N.com| 91日日日| 婷婷综合欧美| 午夜69成人做爰视频| 婷婷六月中文字幕| 综合精品99| 亚洲啪啪视频| 色五月婷婷开心| 国产黄色大片| 人人爽天天爽| 六月亭亭久久综合激情| 97色婷婷在线观看| 五月天婷婷色色| 开心五月婷婷99| 激情综合色婷婷啪啪六月天| 色婷婷丁香五月天| 狠狠xx| 丁香九月激情| 日韩专区五月天婷婷丁香| 色五月亚洲| 888精品福利地址| 中文AV网站| 成人欧美日韩| 五月丁香青草综合啪啪| -91九色大屁股| 丰满少妇猛烈A片免费看观看| 深爱激情网五月天| 99热这里只有精品268| 日韩久久系列| 久久精品性爱| 婷婷五月天视频亚洲| 伊人91| 大香蕉丁香婷婷| 综合色播| 综合噜噜| 开心五月婷婷激情网| 九九婷婷综合| 大香蕉久久久久久久久| 日良久久| 久草五月丁香婷婷综合| 天天干天天干天天| 操操国产| 色99网站| 这里只有精彩视| 五月丁香成人网| 色综合av超碰| 99热国产在线| 国产精品国产成人国产三级| www.久久久久| 天天做天天爱天天高潮| 婷婷激情六月天视频| 好好干Av| 色婷婷丁香| 98色丁香五月婷婷综合网| 国产看真人毛片爱做A片| 九九九色综合| 九九干视频| 99这里只有精彩视频| 三区激情四射av| 婷婷在线免费| 色五月激情| www.激情五月天.con| 婷婷五月欧美综合| 成人做爰高潮A片免费视频| 色五月婷婷中文字幕| 丁香五月天堂网| 激情五月丁香综合网站| 色五月婷婷DVD| 日本色婷婷久久99精品91| 激情婷婷丁香五月天| 99久久99热这里只有精品| 97中文在线| 九九热91| 日韩无码人妻一区二区| 99视频综合网| 丁香五月 激情文学| 婷婷丁香熟女| 婷婷伊人欧美| 91狼友视频在线观看| 丰满少妇猛烈A片免费看观看| 欧美日韩成人| 日本丁香五月| 99综合视频| 99视频精品在线| 免费视频99| 欧美色婷婷| 亚洲日日日| 色色五月丁香| 六月天婷婷| 五月婷婷之综合激情| 婷婷五月天堂| 五月激情小说| 思思久久99热只有频精品66| 欧美成人AAA片一区国产精品| 五月婷婷五月天| 极品人妻VIDEOSSS人妻| 777米奇影视第四色| 91人人人人人| 免费超碰在线| 久久色五月| 婷婷久久五月| 激情q青青草在线婷婷| 丁香五月婷婷动漫| 婷婷五月天亚洲激情戏精品| 激情五月色综合| 五月天开心网| 色99网站| 九月丁香久久网| 五月婷婷激情啪啪| 亚洲av无码精品色午夜| 久久9精品| 激情综合色| 色婷婷伦理| 色色综合网络| 99re在线观看| 欧美色一级色| 精品亚洲国产成AV人片传媒 | 成人短视频在线| 丁香五月激情综合| 一本大道伊人AV久久综合| 中文字幕丰满孑伦无码专区| 超碰精品国产首页| 草操网| 99久久玖玖| 99热18| 99热爆在线| 久青操| 色视五月天婷婷| 狠狠狠色激情综合适合| 大学生高潮无套内谢视频| 五月婷婷丁香综合,亚洲天堂| 久久综合中文| 第四色首页| 99性爱视频| 亚洲免费电影2| 色情五月丁香婷婷网| 免费观看的婷婷五月视频在线| 九九综合久久| 综合久久六月| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 色亚洲激情| 久久久中文| 成人在线高清| 五月婷婷m| 亚洲区视频| 色婷婷狠狠18yy| 日韩免费乱轮网站| 97亚洲婷婷| ztEJj| 99在线爽| 99婷婷| 五月天婷婷色色首页| 美女要搞搞天天搞搞搞网站| 日日噜噜夜夜狠狠久久丁香六月| 天堂网亚洲色图| 人妻内射麻豆视频| www久久久| 亚洲视频无| 青青草日本亚洲| 五月丁香综合网| 久久精品99久久| 99色亚洲| 国产精品成人网址| 国产日日夜夜操| 99热这里只有精品中文字幕| AV成人在线播放| 丁香五月中文字幕久色| 国产熟妇的荡欲午夜视频| 色综合激情| 婷婷五月丁香欧洲| 久久图色4| 日本久久婷婷| 99爱精品视频| 国产亚洲精品AAAAAAA片| 欧美日韩国产一区| 日本色五月婷婷| WWW.五月com| 五六月丁香激情视频| 五月天色图| 婷婷她六月天| www夜夜操| 九九色中文| 综合色五月| 九月婷婷激情| 久久大香蕉同僚| 婷婷玖玖五月天| 日本色综合| 色噜噜五月丁香婷婷| 婷婷射丁香| 激情婷| 国产偷人妻精品一区| 色婷婷播放| 婷婷综合精品视频97| 天天色五月婷婷91久久久久久久| 99热这里只有精品最新| αV电影| 色婷婷久久综合中文久久一本| 潮汕成人AV片在线| 五月婷婷丁香五月天| 中文字幕网站在线观看| 五月丁香色婷婷久久| 色v综合网| 婷婷五月天开心网| 77799热| 国产一级片色色| 婷婷五月天美女视频| 思思热99er| 久色激情| 97自拍视频在线| 99无码精品| 亚洲精品久久久久久久久久吃药| 日本一区二区三区精品视频| 思思热在线| 超碰久热| 国内一级片| 五月丁香成人视频| 激情九月婷婷| 国产毛片精品一区二区色欲黄A片| 9这里只有精品| 男人的天堂97| 色五月婷婷亚洲| 六月香五月婷| 婷婷亚洲久久| 婷婷五月婷婷| 丁香六月五月婷婷| 亚洲综合无码| 8090在线影视少妇| 五月婷在线观看| aaa丁香五月天| 伊人九热| 97人妻碰碰中文无码久热丝袜| 丁香五月视频在线观看| 激情骚五月| 激情五月天视频| 五月天激情子轮| 婷婷涩五月| 亚洲黄网AV| 色情久久久| 天天撸夜夜爽| 99热国内精品| 丁香五月之久操视频| 日韩色久| 婷婷五月天论坛| 国产白丝在线一区| 97caop| 超碰激情网| 99久久综合精品五月天| 色九月婷婷综合| 五月婷婷久久大片| 99热6这里只有精品| 狠狠色婷婷六月激情网| 色999亚洲人成色| 亚洲婷婷综合视频| 人妻久久久| 97婷婷丁香| 中文字幕 久久9999| 日本精品99| 亚洲综合碰| 99热这里只有精品8| 激情六月色| 无码婷婷五月天| 激情久久综合| 色综合香蕉视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 五月天久久小说| 99ri在线视频| 玖玖99免费视频| 亚洲天天综合| α久久| 色欲人妻综合aaaaaaaa网| 久草丁香婷婷五月天婷| 91在线操逼视频| 日本三级韩三级99久久| 噜噜操操| www.婷婷五月| 99热12| 色婷婷五月天成人网| 激情五月深爱五月观看| 99re在线视频| 9九色首页| 超碰A V在线| 婷婷五月天综合亚洲| 婷婷五月成人| 91色婷婷综合久久中文字幕二区| 97色片| 色在线99| 婷婷色在线播放| 熟女激情五月天| 丁香六月天堂| 激情九九这里只有精品| 亚洲AAAA网| 97色五月天| 99色啊| 丁香五月亭亭六月综合激情网| 丁香五月婷婷色| 亚洲网视屏| 91丨九色丨高潮丰满日本| 婷婷欧美激情| 7777精品伊人久久久大香线蕉最新版| 久久人视频| 99小视频在线观看| 国产精品视频网| 人妖色AV色综合| www.com色播五月天| 欧美婷婷丁香五月| 国产色视频网站2| av成人在线播放| 97碰人人操| 久久大香蕉同僚| 国产在线中文字幕| 色婷婷狠狠| 丁香激惜男女| 天天插天天日天天爽| 色 五月俺去也| www.色婷婷.com| 九热...av| 淫视馆AV在线| 婷婷九月| 99精品成人无码A片观看金桔| 久久婷婷亚洲| 屁股翘好撅高迎合跪趴| 人人色人人弄人人操| 操逼电影免费看| 99re免费视频| 久天综合| 国产夫妻操逼内射视频| 先锋av性爱成人电影| 这里只有精品9| 丁香六月婷婷| 99热免费精品| 精品亚洲国产成AV人片传媒| 久草视频大香蕉99| 日韩高清成人| 26UUU成人网| 91一起操| 久久五月婷天天干| 99精品热视频| 婷婷丁香91综合| 99热欲| 亚洲99手机免费看视频 | 综合AV在线| 日本欧美成人片AAAA| www.色五月| 久久嘟嘟丁香| 天天肏屄夜夜爽| 久久思思热视频| 激情综合网址| 狠狠CAO日日穞夜夜穞AV | 五月天丁香网| 狠狠干 狠狠操| 欧美日本国产欧美日本韩国99| 操操碰| 激情九九九九| 久久久思思热| 五月天综合婷婷| 五月色亚洲| 精品视频网| www.粉嫩av.com| 婷婷六月激情综合| 99re8在这里只有精品| 91高潮喷水久久久久久久久| 色婷婷九月| 九九在线这里只有精品视频| 日日天天干| 久艹久| 天天人人天天爽| 99玖玖在线视频| 91在线操逼视频| 99色婷婷视频| 免费在线观看欧美激情xx小视频| 婷婷久久大香蕉| 丁香激情五月| 五月停停丁香| 丁香五月欧美| 亚洲久久日| 一级A片天天操夜夜操| 99热9| 91人人操| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 色婷婷久久| 日韩久综合| 99这里只有精品在线观看| 一级黄色影片| 亚洲婷婷丁香五月在线| 五月天婷婷伊人| 欧美性爱五月天| 免费成片在线观看| 婷婷激情5月| 91九色首页| 色婷婷久久综合| 99这里只有精品视频| 天堂久久丁香| 婷婷成人综合免费视频| 激情五月婷婷| 99狠狠色| 色婷婷丁香五月| 管管補管管紱| 五月天婷婷基地| 精品99在线看| 激情婷婷六月天| 婷婷不卡基地| 婷婷五月天论坛| 熟妇人妻中文字幕无码老熟妇| 色婷婷丁香网| 色综合久久888| 中文色婷婷| 色爱综合网| 99久热精品在线| rr天天操| 97在线视频 欧美| 日本操逼九九九九58日本操逼| 成人无码髙潮喷水A片| a69在线视频| 婷婷中文字幕| 99热国内| 无码少妇高潮喷水A片免费| 欧美va亚洲va| 日韩成人电影AV| 性色播| 99色在线视频| 99久久99热| 91精品久久久久久综合五月天| 99re8在这里只有精品| 开心五月网| 五月婷久久综合| 五月婷婷啪| WWW.久久久久久久久久久久久| se99视频| 9 99免费视频| 亚洲精品国产setv| 一起草av| 99这里都是精品| 狠狠干青青草| 日本久久激情| 骚。com| 日本一级大片| 国产精品电影网| 大香蕉五月天婷婷| 婷婷亚洲综合| 2025天天爽天天摸| 亚洲天堂AV综合网| 综合XX网| 五月丁香激情综合网| 久久99网站| 人妻操在线看| www.激情com| 日日干天天射| 99 频99热国里只有精品| 婷婷丁香九色| 99视频只有精品| 婷婷激情综合网| 熟妇内谢69XXXXXA片| 天天色域综合网| 超级碰碰碰97免费| 天天干天天操天天爽| 婷婷五月天com| 久久思思99| 五月婷婷五月天| 伊人五月天婷婷| 成人一级片| 男男野外做爰全过程69| 日韩视频99| 久9热| 五月丁小婷婷激情四射| 色日本综合| 婷婷舔| 综合精品99| 婷婷综合五月天| 79色色色色| 丁香色色网| WWW、99热| av九九| 婷婷 月 丁香| 99热只有精品综合| 亚洲AV成人精品网站在线播放| 99在线免费视频| 色五月婷婷视频| 9l视频自拍9l视频自拍九色学生| 五月天社区| 五月婷婷六月色| 天天上天天爽| 在线观看996精品| 欧美性生交XXXXX无码小说| 天天综合色| 色婷綜合网| AV在线观看网站| 丁香深五月婷婷| 可以免费观看的AV| 天天弄天天操| 五月丁香欧美综合免费视频| 久操无码| www.1024久久| 少妇高潮呻吟A片免费看软件| www.婷婷六月天| 激情五月婷婷伊人| 亚洲中文av| 婷婷狠狠狠爱| 9热网站| 99色热| 99色中文| 五月人妻婷婷视频| 婷婷五月天激情小说网站| 91 九色 熟女| 丁香 亚洲 久久| 九九XX视频| 五月激情小说| 在线播放成人网站| 深爱五月婷婷| 婷婷网五月| 五月香蕉综合| 亚洲AV免费在线| 91肏| 18久久| 色婷婷精品视频在线播放| 风流少妇A片一区二区蜜桃| 操人无码| 97人凄人人操人人爽| 亚洲天天| 欧美日韩AAA| 操丝袜视频影院导航| 99热精品10| 五月婷成人| 国产91视频| 另类激情五月| 久热超碰91| 日韩在线成人电影| 激情色情五月天| 99在线看视频| 日本综合九九| 91色呦哟| 日韩乱轮AV| 超碰97在线操| 日本精品人妻无码77777| 99无码视频| 激情av| 99精品网| WWW.桔色成人.COM| 高清一区二区三区日本久| AV电影在线播放| 六月丁香啪啪| 亚洲亚洲人成综合网络| 天天干天天做| 香蕉久久av一区二区三区| 大地9中文在线观看免费高清 | 99爽视频| 日本久久性| 狠狠人妻色综合| 五月丁香久久综合| 成人AV在线电影| 色五月在线播放| 狠狠干五月天| 成人精品视频99在线观看免费| 五月天婷婷综合网| 香蕉97碰碰碰欧美| 99色在线观看视频者| 久久99免费视频网站| 色五月婷婷影视| 碰碰操91| 超碰成人电影| 天天舔夜夜操www com| 五月婷婷综合激情| 久久99色色| 99热这里全是精品| 五月丁香在线| www色婷婷| 婷婷五月色| 91人久| 岛国午夜视频| 九九精品自拍| 婷婷AV丁香| 五月天电影网| 色色色综合网| 五月婷婷AV| 任你躁XXXXX麻豆精品| 九一九九黄色| 久久多色| 综合激情五月丁香| www.henhengan| 97久久超碰| 香蕉AV777XXX色综合一区| 991自拍视频| 丁香五月色色| 99久久成人| 丁香婷婷六月| 色婷视频| 中文字幕久久婷九女同| 婷婷五月天堂| 激情综合色五月六月婷婷| 色色色色色色色色网站| AV中文在线| 五月婷婷色在线| 久久与婷婷| 五月色婷婷综合丁香精品无遮挡| 五月天激情无码| 色色射| 婷婷五月在线| 婷婷综合另类小说| 色五月丁香六月欧美综合| 婷婷啪啪| 97偷拍对白视频| 五月天激情图片| 激情综合网 激情五月天| www.久久久久久久| 九九亚洲天堂| 99热这里只有精品1025| 99re思思精品在线观看| 五月久久婷婷| 九九操屄| 99成人网一区| 婷婷色正月| 欧美日韩欧美| 玖玖爱综合网| 久热A| 色婷婷色99国产综合精品| 99热99| 99热这里只有精品50| 91久久久久久久久18| 九九爱精品网站| 五月天婷婷久久日| 91无码高清| 天天干天天av天天射| 婷婷丁香五月天婷婷| 色色com| 性色九九| 久久亚洲色导航| 99在线69| 亚洲Av成人在线观看| 综合热无码| 欧洲色| 丁香六月啪啪啪| 亚洲免费婷婷| 婷婷六月激情综合| 狠狠色五月激情| 婷婷五月天堂| 天天综合网~91| 骚货艹网站视频| 99国产精品久久久久久久久久久| 丁香婷婷五月综合色情| 天天干天天操天天爽| W色综合| 天天草天天舔| 日韩九区| 99色激| 成人在线网址| 99视频网址| 开心激情网五月天| 麻豆忘忧草午夜| 开心五月婷| 超级黄色片| 99免费在线视频| 99久久国产宗和精品1上映| 久久婷婷亚洲| 五月丁香六月成人| 色 五月 天 婷婷 丁香 九月| 婷婷五月精品中文字幕| 免费观看欧美成人AA片爱我多深| 激情AV在线| 婷婷五月天小说| 色色激情| 色情五月婷婷| 亚洲人妻AV| 精品久热| 啪啪综合网| 亚洲五月花| 亚洲综合激情五月久久| 综合久久影院| 啊V视频在线观看| 色一情一乱一乱一区91| 51成人| 97干在线视频| 99久久亚洲精品视频| 六月婷婷五月天| tingtingjiqingwuyue| 婷婷丁香六月| 天天操天天日天天爽| 久久婷婷免费|