99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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热这里只有精品66| 国产激情视频在线观看| 日日夜夜爽爽| site:pzdcoin.com| 亚洲成人另类| 五月婷婷先锋| 影音先锋偷偷色男人站| 思思精品热在线| 99超碰在线观看| 色综合久久88色综合天天99| 草做免费在线观看| 九九综合精品| 最近韩国日本免费高清观看| 九九99在线视频| 噜噜视频| 91干视频| 婷婷综合在线| 五月激情婷婷女| 91久久久久久久| 九 九九九AV| 五月天色婷婷综合| 依人大香蕉| 婷婷五月天成人网站| 亚洲在线成人| 天天综合网~91| 五月天婷婷丁香| 99热6精品| 亚洲久久视频| 99极品视频| 91精品无码久久久久久五月天| 被强行糟蹋的女人A片| 色五月婷婷五月天| 婷婷综合视频| 五月丁香激情综合| 婷婷久久综合| 欧美色色色色色色| 人人超碰99| 国产亚洲精品久久久久久久久动漫| 亚欧州精品视频| 中文字幕乱轮| 天天爽天天摸天天爱| 深爱五月中文字幕| 丁香六月天婷婷开心综合| 狠狠看狠狠| 玖玖精品婷婷| 97干网站| 操操操av| 婷婷五月天日日日干干干| 久久婷婷青草五月天| 九月丁香八月婷婷久久综合久97| 婷婷欧美激情| 9999久久久久| 99视频久久免费视频| 亚洲成人综合在线| 色色国产| 中文字幕婷婷五月天在线观看| 99啪| www.日本久久videos| 丁香五月天天| 九九RE视频在线精品| 五月开心久久| 亚洲五月丁香综合网| 婷婷五月电影院| 五月色丁香| 五月天激情网址| 牛牛色av| 日韩超碰在线| 五月丁香A片| 啪啪一区| 开心五月婷婷激情网| 99re26视频| 甈吧vv| 五月丁香999| 亚洲天堂玖玖| 久久久精品色色色| 亚洲激情久久| 777精品久无码人妻蜜桃| 九九热在线观看视频| 九九av| 亚洲色五月| 日本三久久| 日韩亚洲视频| 日本三级第一页| 熟美女麻豆| 久久久久久久久99精品| 天天婷婷天天| 天天爽天天草| 日日撸夜夜操| sewuyuetingtingiii| 99福利导航| 色婷婷丁香五月天| 色情综合网| 五月天淫乱视频| 九九五月天| 五月婷婷综合网| 亚洲视频在线观看| 97操在线视频| 天天综合中文| 少妇人妻人伦A片| 天天操天天插天天射| 色婷婷先锋| 色色亚洲无码| 91在线日| 色丁香五月婷婷综合久久| 97色97干| 亚洲情欲| 99re资源在线视频导航| 欧美成人无码一区二区三区| 碰97久久| 婷婷干六月综合旧址| 中文字幕视频在线播放| 99re6久热只有精品6在线直播| 99热91| 亚洲激情AV| 被强行糟蹋的女人A片| 丁香五月www| 草草视频91| 婷婷五月激情在线| 六月婷婷五月丁香| 婷婷丁香六月| 成人丁香五月天Av| 波多野结衣不卡AV| 婷婷五月丁香激情色情| 狠狠色成人影片| 综合日本婷婷| 婷婷丁香五月综合网上| 婷婷综合婷婷| 丁香色播五月天| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 99热在线观看精品免费| 秋霞AV吧| 日日操,日日爽| 婷婷久久综| 日韩在线视频9色| 99热这里在线精品| 人人爱国产| 亚洲无码九九九| 天天爽曰日爽| AAA级久久久精品| 女人露出p毛视频www网站| 婷婷色五月天在线| 麻豆忘忧草午夜| 婷婷丁香久久五月综合| 欧美搡BBBBB摔BBBBB| 99精品久久久久久久婷婷| 五月开心久久| 国成人网| 99热精品免费| 亚欧州精品视频| 99精色| 中文字幕网伦射乱中文| 密乳视频| 玖玖综合色区在线观看| 2025色婷婷| 激情AV网| 这里只有免费精品| 91碰碰| 日本精品在线噜噜噜| 超碰免费99| 久久 中文 日本| 九九爱激情| 99色爱| 色情五月天se| 五月丁香中文婷婷中文| 99福利导航| 97操碰人人| 欧美毛片www| 青青青在线视频国产| 婷婷激情五月天综合| 天天干天天干天天干天天干天| av在线观看网站| 婷婷色在线视频| 九九AV在线| 91婷婷丁香| 182无码| 五月六月激情| 色婷婷中文在线| 伊人碰碰碰| 丁香花色色网| 丰满少妇猛烈A片免费看观看| 99爱欧美| 97热久久五月婷婷| 人人干人人看| 天天射色五月天| www.刺激色网站www.| www五月天com| 亚洲午夜精品久久久久久人妖| 99啪啪| 亚洲行行色色| 亚洲婷婷基地| 蜜臀久久99精品久久久久久酒店| 五月天激情网图片| 91精品丝袜久久久久久| 日本91在线播放| 丁香五月婷婷色| 九9九9无码| 91日本在线| 免费99情趣网视频| 第四色五月婷婷| 91丨九色丨东北熟女| 婷婷舔| 黄色av网站在线免费播放| 婷婷干五月综合在线播放| 久久jiuwww| 色婷婷狠狠18禁| 亚洲瑟瑟精品在线| 婷婷丁香久久| 一区二区传媒视频| 香蕉人妻AV久久久久天天| va婷婷| 日本色99| 色婷婷综合在线| 久久伊人大香蕉| 26uuu亚洲色| 热久69| 午夜丁香| www夜夜操| 这里只有精彩视| 色狠狠999综合| 色伦专区97中文字幕| 婷婷五月天久久久| 亚洲综合色丁香婷婷六月| 日本三级第一页| 九九热精品| 色五婷婷| 婷婷六月久久| 激情文学天天| 丁香激情久久| 丁香婷婷综合激情五月色| 俺去也五月| 国产激情AV| 天天摸天天日天天舔| 丁香五月激情宗合| 极品少妇婷婷五月| 五月婷婷很很色| h在线看免费版在线看| 色色色色热| 十月丁香婷婷| 激情五月图| 操比激情五月综合| 久久久人人操A V| 久久精品国产一区二区三区四区| 热久精品| 久久丁香| 狠狠五月激情丁香六月| 久久人妻高清中文| 日日做夜夜爱| 可以直接看的AV网站| 五月天天天操天天爽夜夜操| 日日干日日色| 99超在线| 六月婷婷影院| 色情五月停停丁香| 夜夜爽天天爽| 亚洲熟女色| 亚洲看av的网站| 五月开心婷婷中文字幕| 久久无码激情视频| 6月丁香婷婷激情| 7月婷婷六月丁香| 丁香色六月婷婷| 婷婷色综合| 人人爱人人摸人人澡| 天天干天天日天天插| www.久久99热地址发布| 婷婷99视频在线| BBWCUCKOLD精品熟妇| 99精品视频推荐| 操日视频| 天天天天操| 婷五月天| 中文字幕不卡视频| 五月丁香黄色视频| 国产成人综合网| 亚洲操人| 国av网| 思思精品视频| 99国产精品白浆在线观看免费| 丁香狠狠色婷婷| 久久aaaa片一区二区| 色爱综合网| 99自拍视频在线| 亚洲小视频免费看| 。久久久久久久久久久久久久人妻| 久99久热只有精品国产99| 国产精品久久久60086| 久久er九九| 亚洲操b| 野外99热| 奇米四色五月天| 五月婷婷五月丁香综合| 麻豆观看夏晴子| 狠狠干综合| 五月丁香六月婷婷免费| 五月天激情综合网俺也去| 丁香五月影视| 日本一道久久| 中文字幕AV网址| 九九热99热| 丁香五月综合亚洲| 久久人人九| 色五月av| 久色网| 97在线观视频免费观看| 久久狠婷婷| 这里只有精品在线视频精品| 野战毛片三一3| 婷婷五月色天| 97se视频在线| 精品A√| 99在线观看| 五月婷婷六月激情| 99久热这里有精品| 91成人品| 激情综合色婷婷啪啪六月天| 丁香婷婷在线| 色婷婷丁香五月| 精品亚洲国产成AV人片传媒 | 丁香五月欧美午夜视频| 丁香五月欧美婷婷综合| 人人色婷婷五月天| 婷婷久久亚洲| 99久久婷婷五月综合| 色天天综合成人网| 日产精品久久久久久久蜜臀| 丁香五月色| 一级性爱视频| 狠狠色综合无线观看| 大香蕉婷婷色| 婷婷色色欧美| 丁香五月婷婷在线观看| 中文字幕不卡网站| 五月丁香六月婷婷综合网缴情| 91狠狠色丁香婷婷综合久久精品| 91互操| 综合激情深爱| 丁香六月婷婷色XXXX| 午夜丁香丁香婷婷| 99精品视频在线观看| 久碰婷婷视频| 丁香六月激情四射| 91精品综合久久婷婷九色| 战争与艾拉电影免费观看| 色综合色| 欧美性丁香色色五月天综合爱爱| 九九热视频在线观看| 九热视频| 99热最新网址| 久久伊人日日夜夜| 久久婷婷五月综合色欧美| 播五月婷婷开心| 超碰在线精品| 综合亚洲六月婷婷在线| 狠狠色狠狠操| 婷婷区日本| 99色色网| 婷婷伊人五月| 九九精品婷| 99精品免费欧美小视频| 超碰在线94| se影音资源在线观看| 五月婷婷综合色啪首页| 丁香五月婷婷大香蕉| 五月婷婷激情日本| www久久久| 婷婷五月天堂网| 日日夜夜干| 这里只有精品视频国产| 欧州婷婷五月天综合| 99这里只有精品在线观看| 春色激情| 欧洲色| 天天肏在线观看| 亚洲综合视频在线| 成人网站免费sxj| 丁香色婷婷色手机免费在线| 成年人最刺激的综合网| 久99热| 婷婷五月成人色综合| 色婷婷视频在线| 五月天天天综合| 影音先锋女人AA鲁色资源| 激情五月婷婷在线区| 激情综合丁香六| 色色色色色色网站| 亚洲激情综合| 久久3级片| 色婷婷天堂| 91狠狠色丁香婷婷综合久久| 日本97在线看片| EEUSS鲁片一区二区三区| 久99综合婷婷| 日韩丁香涩| 丁香五月天成人网站| 久久综合五月天| 99这里有精品视频| 久久九九国产精品怡红院| 五月天综合网| 亚洲欧洲小视频9| 99久久99九九99九九九| 丁香五月六月激情久久| 狠狠干五月天婷婷网| 播丁香五月婷婷欧美| 五月婷婷导航| 成年人99热| 亚洲AV网站在线观看| 少妇熟女视频一区二区三区| www热久久yy9| 激情九九综合网| 激情久久五月天| 婷婷影院A成人| 亚洲熟女色| 99久久成人| 99热1| 亚洲精品字幕在线观看| 色五月91| 热996精品在线观看| 丁香六月婷婷色XXXXX| www.夜夜.com| 熟女乱论网| 成人永久免费视频在线观看| 久久99大| 欧美性生交XXXXX无码小说| 激情丁香六月| 五月天综合在线观看视频| 丁香婷婷五月天网站| 婷婷99丁香| 五月婷婷综合在线亚洲视频| 五月婷婷综合网| 99视频这里有精品| 五月色婷婷综合| 色五月婷婷大| 国产99精品免费视频| 婷婷色啪| 97黑人精品区| 色婷亚洲| 丁香五月网| www99精品日韩| 欧美性爱五月天| 操操国产| 久草五月婷婷| 91viP在线看| 天天婷婷综合亚洲亚洲| 国产色色色色| 97热这里只有精品| 婷婷婷婷婷开心无码播放| 精品九九视频| 毛片新网地| 五月天婷婷色播综合在线| 中文字幕在线免费观看视频| 99re在线观看| 97成人丁香婷婷| 久久免费9| AV成人在线播放| 欧美超碰人人| 玖玖无码中文| 婷婷中文字幕| 九九这里有精品视频| 五月天激情综合首页| 婷婷五月激情综合| 丁香六月婷婷缴情欧美| 婷婷区日本| 操逼福利视频| 天天操夜夜橾| 婷婷丁香五月综合免费视频百花| 98永久精品| 六月撸婷婷| 色播六月| 久久视屏这里只有久久| 色综合天天网| 天天操夜夜爽| 日狠狠| 另类 在线| 亚洲色图五月丁香| 婷婷丁香久久| 天天插操| 伊人网啪啪| 无码啪啪| 激情网站综合五月天| 99爱免费在线视频| 操九色| 一级性爱视频| 中文字幕婷婷9月天| A片天天| 四季AV综合网| 五月香蕉综合| 久久少妇视频| 大香蕉五月丁香| 99性色| 国精产品一区一区三区免费视频| 九九99九九精品视频| 亚洲 欧洲 国产 伦综合| 激情av在线| 五月天日日操夜夜操| 久婷婷久草| 久久五月天激情| 色综合久久88色综合天天99| 人妻丰满精品一区二区A片| 日本波多野结衣视频| 97五月久久丁香婷婷| 天天摸天天舔在线视频| 99re热视频这里只精品| 婷婷亚洲综合| 丁香六月色| 啪啪一区| 五月亭亭直播| 双性美人被调教到喷水A片| 大香人妻| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 国产ava| 婷婷五月天成人| 久久性爱激情| 五月 丁香 欧美| 99只有这里有精品在线视频| 国产亚洲精品AAAAAAA片| 中文字幕不卡视频| 日本精品。999| 日本色五月| 丁香五月婷婷啪啪| 日韩人妻无码精品| 五月婷在线视频免费播放| 99在线69| 五月婷综合激情| 五月在线婷色| 青青草原亚洲天堂| 月色色综合婷婷网| 永久地址 色| 97色色视频| 9热在线视频| 亚洲激情电影五月天色婷婷丁香一起草 | 激情亚洲婷婷| 五月天堂六月丁香亚州中文字幕久久| 婷婷激情五月天7| 国产精品色色| 吾爱AV导航| 怡红院院久久| 婷婷综合在线| 五月天婷婷色| 综合色图区| 久久艹网| 激情婷婷啪啪| ai97re99一本| 丁香五月激情婷婷| 超碰婷婷色| 精品国产va久久久久| h亚洲| 婷婷婷五月香蕉| 人人干AV| 碰碰碰97国产| 婷婷激情啪啪| 99久久超级| 国产丁香五月天婷婷| 狠狠狠狠狠狠| 五月色情婷婷开心五月天| 狠狠爱激情网| 婷婷丁香六月| 综合亚洲五月天| 婷婷丁香十月| 五月婷婷与六月丁香图片激情| 中文字幕AV在线播放| 婷婷网影院| 六月婷婷色| 色yeye色综合| 99热成人| 碰碰女| 激情文学久久| 激情5月舔| 97婷婷色| 另类国产综合| 久久久久五月丁香| 五月婷婷综合在线| 99久久99九九九99九他书对| 亚洲第一第二网站| 思思热久在线观看视频| 野战J办公桌椅H| 丁香五月六月欧美| 婷婷丁香婷婷97| 玖玖婷婷五月天| 亚洲成人另类| 天天综合精品| 色婷婷五月天av在线| 五月丁香无码| 日韩精品成人在线| 色播五月婷婷| 五月丁香色婷| 涩 五月 婷婷 狠狠| 五月丁香综合| 天天 青草 制服丝袜 在线| 五月天成人综合| 26uuuu精品一区二区| 亚洲黄网在线| 日本三级中国三级99| 亚洲精品视频在线| 五月婷婷色欲| 五月丁香婷婷免费视频| 婷婷六月激情小说网| 97精品人人A片免费看| 国语精品探花| 色欲九区| AⅤ网站在线看| 六月丁香婷婷综合在线| 热99国产精品| 老师高潮流白浆喷水的A片| 99国产视频网| 可以免费观看的av网址| 色爱爱综合网| 五月婷婷啪啪| 国产密乳av一区二区三区四区| 激情久久综合| 综合五月激情| 五月天色不卡| 99热66| 男人的天堂在线婷婷| 欧美日本黄色| 丁香五月天啪啪激情综合网| 伊人www22综合色| 丰满老熟妇BBBBB搡BBB| 久久五月激情综合| 国精产品一区二区三区| 色~性~乱~伦~噜| 91久女| 婷婷金品综合视频| 这里只有精品在线视频在线观看| 天天做综合| 青青草Avb在线| 99亚洲精品| 狠狠99| wwwxxx五月婷婷小说| 综合久久高清| 日韩 mm 不卡| 亚洲六月色| 这里只有精品免费| 色欲五月婷婷| 99热在线只有精品| sewuyuejiqingwang| 九九久久99精品免费观看www| 狠狠色 综合色区| 九色视频91| 久久99精品久久久| 激情小说色五月| 色五月婷婷老师| 96精品久久久久久久久| 狠狠狠狠狠干| 精品五月天| 无码人妻一区二区三区四区| 激情AV| 狠狠色噜噜狠狠| 97干在线免费| 五月婷婷性爱网| 俺去也五月| 另类图片五月天| 五月婷婷综合激情网| 色五月成人| 噜噜精品| 久久少妇视频| 婷婷综合五月天亚洲综合| 天天干肏夜夜| 五月婷婷开心六月激情小说| 五月天三级| 人妻内射麻豆视频| 色婷婷国色天香综合| 色性综合| 激情五月激情综合俺也去婷婷小说| 99操逼视频| yellow视频在线观看91| 天天色天天射天天日| 9l视频自拍9l视频自拍九色学生| 丁香五月停停基地| 五月色丁香| 日本99热| 狠狠色综合网| 欧美欧盟性爱网| 影音先锋男人AV资源站| 五月婷丁香| 玖玖婷婷五月天毛片| 白人荫道BBWBBB大荫道| 国产美女无遮挡裸体毛片A片| 人妻久久久久久| 最近韩国日本免费高清观看| 欧美叉叉叉BBB网站| 97夫妻超碰| 久久婷婷青青草| 国产在线网址1| 婷婷干五月综合在线播放| 亚洲五月天婷婷综合| 开心五月色婷婷综合开心网| 六月丁香激情网| 性爱视频久久| 五月天激情亚洲| 五月丁香久久| 婷婷在线日韩综合| 9久久久| 4399在线日本A片| 99热大全在线观看| 五月婷婷色情| 高清av在线国产| 亚洲无码yw| 人伦30P| 亚洲综人色综网| www.五月婷婷久久.com| 五月天狠狠网| 九九AV| 99久久99综合| 丁香五月婷婷激情尤物| 天天操夜夜啊| 婷婷五月丁香网| 五月丁香亭亭操逼| AA片在线观看视频在线播放 | 日韩在线视频网站| 国产99久久久国产精品免费看| 丁香婷婷九月在线| 欧美视频五区| 久久成人天| 久99久精品视频| 性av| 97超碰在线免费观看| 色色成人網| 99久久6| 久色视频| 激情五月婷婷啪啪| 色插综合网| 久99久热| www...com黄在线观看| 五月综合激情| 这里只有精品网站| 99精品网| 97碰| 五月婷婷激情综合网 | 久xxxx| 五月婷婷色播网| 97人人操| 99玖玖视频| 99视频久久免费视频| 激情 婷婷| 婷婷香蕉精品| 色色色综合视频| 综合啪啪| 色色色五月| 色青青五月| 九九香蕉网| 久久久A级视频| 丁香婷婷五色月| 色五月婷婷在线| 99视频在线啪| 人妻丰满精品一区二区A片| 婷婷五月丁香基地在线视频官网| 日夜操B| 婷婷五月天激情综合深爱激情 | 69精品人人人人| 久久人人看| 婷婷永久在线| 五月天激情网页| 亭亭玉月丁香| 五月婷婷六月丁香免费| 成人做爰A片免费看视频| 99九九热在线观看| 日本三级99人妇网站| 人人色AV| 影视av久久久噜噜噜噜噜三级| 超级碰 久久9| 99久久99视频只有精品| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 思思re99视频在线观看| 九九在线热九九在线热99热| 国产色丁香| 婷婷丁香六月| 色呦呦免费观看| 五月天丁香成人| 影音先锋男人资源站一区二区| 五月丁香花婷婷玉莉AV| 伊人网色婷婷五月天| 欧美性爱特黄一级aaaassss| 国产毛片欧美毛片久久久| 激情色播| 色五月综合激情| 91精品丝袜久久久久久| 97碰碰在线看视频免费| 在线网黄| av大香蕉| 99色热| 在线区区区| 国产欧美日韩综合精品一区二区| 久草久青福利| 中文字幕有多少字| 99re这里只有精品在线观看| 任我肏视频精品| 五月天四色房丁香亭亭| 狠狠久综合| 久久草中文日韩欧美| 99在线视频播放| 99热欧美| 99热欧| 中文字幕婷婷9月天| 天天色综合网吨吧| 日韩黄色电影| 丁香五月香蕉| 色综合久久伊伊婷婷五月| www.色五月| WWW五月| 9久热在线视频精品| 久久久久久欧美精品se一二三四| 色五月xxx| 日本人人超碰| 色无码| 思思热天天看| 日日操夜夜擼| 开心激情婷婷| 激情五月天噢美| 亚洲精品一二三| 99热这里只有精| 六月丁香激情综合网| 天天碰夜夜操| 色婷婷国产精品综合在线观看| 超碰免费人人| 婷婷综合仓库中文| 欧美视频五区| 五月丁香在线婷婷蜜桃| 丁香 亚洲 久久| 日本久久天堂| 99热免费看| 久热久| 久久九九99视频| 五月色丁香| 啪啪五月天啪啪| 日本美女五月天| 综合激情伊人影视在线| 九九艹女| 成人看片网站| 亚洲情a| 九九九这里只有精品| 成人AV片播放| 狠狠搞狠狠操| 99热精品中文字幕| 婷婷五月综合欧美在线播放| 午夜丁香六月婷| 噼里啪啦在线观看免费完整版视频 | 夜色综合网| 中字幕视频在线永久在线观看免费| 人妻操逼视频| 都市激情五月婷婷综合| 久久综合色情网站| 又大又粗九一在线| 五月丁香综合激情| Www.狠狠| 精品综合五月| 婷婷丁香六月| 久久超级碰视频| 日本视频不卡123区| 九九热欧美| 婷婷激情社区| 日韩AAA| 超碰97人人操| 国产婷婷五月| 九月丁香八月婷婷加勒比| 婷婷五月天开心网| 操逼巨乳91| 五月丁香色婷婷综合| 综合激情五月四射婷婷| 日韩在线99| av超碰在线| 久热在线中文字幕色999舞 | 色婷婷综合网| www色色色com| 激情丁香九九五月综合网| 五月天色婷婷伊人网| a v色婷婷| 综合五月草| www.激情| 久久多色| 激情五月天啪啪| ...婷婷五月综合不卡,国产在线手机| 一二线视频 另类| 欧美性做爰大片免费看办公室| 色婷婷九月| 久婷久婷| 五月婷婷激情日本| 人人操 色| 伊人久久大香线蕉AV最新午夜| 丁香狠狠色婷婷久久无码视频| 精品国产AV色一区二区深夜久久| 五月婷婷成人| 91狠狠色丁香婷婷综合久久| 五月天婷婷av| 91avse| 综合久久97| 激情综合网址| 超碰人人操人人干| 深夜男女福利刺激影院一区完整| 超碰9| 人人操91| 婷婷开心激情| 狠狠干综合| 日本天天操| 国产一区二区三区影院| 国产婷婷色综合AV蜜臀AV| 成人国产欧美大片一区| 婷婷成人基地| 99在线视频。| 99re在线免费视频| 久久影视婷婷五月| 五月丁香六月婷婷成人| 久久网日本| 激情五月婷婷丁香六月| 五月情丁香色| 狠狠搞综合色| 亚洲色模骚货| 久久人妻精品| 亚洲天天| 日本熟妇乱妇熟色A片蜜桃| 国产在线aaa片一区二区99| 免费黄网不卡AV| Av在线资源| 狠狠色色综合| 色色色色欧洲| 狠狠干在线视频| 亚洲操b| 99色干| 亚洲妇女熟BBW| 丁香五月天日韩无码| www,超碰| 色五月丁香五月激情五月激情| 欧美综合婷婷网| 婷婷五月六月| 777色色色| 666555。COm毛片| 婷婷久久女人| 97色干| 五月婷婷九| 夜夜操狠狠操| 色婷婷丁香五月| 婷婷五月天最新网址| 肏屄色播伊人97婷婷| 五月婷婷新网站| 日本va欧美va欧美va| 日韩性视频| 99这里只有精品在线观看| 天天插综合| 日韩九区| 狠狠爱丁香婷| 日本一级一级一级一级| 激情小说 五月天| 亚洲最大在线| 日韩不卡123| 99热99在线| 亚洲五月天婷婷在线| 色~性~乱~伦~噜| 97超碰免费超级在线观看| 五月丁香综合成人社区| 婷婷六月丁香久| 蜜臀99精品| 国产亚洲精品AAAAAAA片| 天堂网啪啪| 九九热99精品在线| 亚洲无码播放| 91丨九色丨国产打屁股网站| 91九九| 五月亭亭性| 亚洲亚洲人成综合网络| 欧美在线97| 久久久人妻门| 99热免费| 婷婷伊人网| 久久精品只有这| 嫩草AV久久伊人妇女超级A| 超碰不卡在线| 五月花综合视频| 狠狠操狠狠插| 久久久激情视频| 丁香婷婷噜噜| 在线播放人妻| 久热这里只有精品在线观看 | 91人妻PORNY九色大屁股| 婷婷五月综合色小姐小说| 丁香六月 婷婷六月| 91婷婷丁香五月| 97超碰色| 先锋资源 996| 久热无码| 99综合网| 五月丁香久久网| 亚洲第一av| 五月天电影网| 一本色道久久88综合日韩精品| www.色99| 9l视频自拍九色9l视频自拍九色9l社区| 免费91久久精品| 美女100%露全身无挡网站| 丁香五月人妻| 亚洲美女高潮久久久久久69| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 亚洲综合五月天婷婷丁香| 久热伊人在91| 亚洲成人噜噜| 亚洲岛国电影| 色婷婷丁香五月色综合网| 婷婷色5月天在线。| 婷婷综合在线| 99热碰碰热| 丁香五月影视| 99久在线观看| 操操国产| 中文无码婷婷| 天堂A∨在线| 97色婷婷成人综合在线观看| 亚洲欧洲国产精品| 97久久精品| 91婷婷在线| 99热国产精品| 色五月播五月| 五月色婷婷在线观看| 久久综合五月| 另类五月婷婷| 嫩BBB槡BBBB搡BBBB| 激情五月激情综合网一级丸片| 亚洲黄色影视| 丁香色啪综合| 99婷五月| 色五月丁香伊人五月| 婷久久综合| 久久婷婷五月综合| 91精品91久久久中77777久久玖玖九九| 久久香蕉丁香| 色色吧综合| 丁香婷婷大香蕉| 丁香狠狠| 九九九九热99超碰| 五月婷婷亚洲| 五月天丁香综合久久国产| 亚州操操| 性爱动图国产麻豆一区二区三区| 99色视频| 99国产性感视频| 久久大香免费| 天天日夜夜拍| 五月丁香六月欧美综合| www.韩日视频| 婷婷九月亚洲| 狠狠香婷婷五月| AV色色天堂中文| 久热免费视频| 性爱AV天堂| 婷婷六月丁香五月图区| 五月丁香六月情| 99热99干| 免费看成人AA片无码视频吃奶| 久热视频这里只有精品| 伊人www22综合色| 99亚洲天堂| 99思思| 婷婷综合五月| 大香蕉 婷婷| 亚洲六月色婷婷| av婷婷丁香 六月| 一区操| 丁香六月婷婷色XXXXX| 天天干天天 亚洲| 97欧美在线| 五月激情天| 五月婷婷开心网| 26uuu淫色| 五月婷婷色白丝| 色色色欧美| 免费亚洲婷婷| 亚洲性图一区二区三区| 99丁香五月婷婷在线| 色综合久| 99热8| 日本黄色三级片内射| 女人天堂AV| 婷婷五月永远18免费久久久| 97黑人精品区| 9久久狠狠的| 欧洲亚洲免费视频9 | 久久a热| 久久综合热17c| 最新日韩久热免费视频看看| 国产精品99久久久久久久女警| 99热免费| 激情婷婷六月| 五月天色导航婷婷资源婷婷| 热99热久| 欧美成人AAA片一区国产精品| 激情六月天| 伊人五月网| 色狠狠五月天| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 激情五月天综合网| 婷婷丁香六月天| 亚洲男人的天堂婷婷色五月| 色五月首页| 狠狠色噜噜狠狠| H亚洲| 成人午夜天| 人人播| 久99久精品视频| 色激情五月| 九色视频这里只有精品| 蜜臀丁香黄色婷婷五月天| 五月婷婷久久综合| 思思热性操| 亭亭五月色男人| 天天干天天操天天爽| 九九热视| 婷婷五月天色综合| 99在线观看这里都是精品| 精品人人操| 91久久综合亚洲噜噜成人在线 | 一起草AV入口| www.久久久久| 五月丁香久久| 丁香六月婷婷综合| 久久久婷婷五月亚洲97号色| 五月婷婷天| 久热精品视频| 色情激情五月| 99热这里有精品24| 婷婷五月天直播| 这里都是精品99| jiujiu热在线视频| 激情久久久久| 亚洲综合视频在线| 啪啪 综合网| 婷婷色啪| 97色永久免费视频| 亚洲天堂啪啪| 另类综合激情| 欧美va在线| 五月天色丁香| 久久丁香五月| 五月婷婷综合视频| 涩五月婷婷| 国产精产国品一二三在观看| 男男野外做爰全过程69| 性生生活大片又黄又| 色一色综合| 97综合视频在线| 丁香深五月婷婷| 思思热在线精品视频| 激情五月天小说| 人人干人人操人人摸| 五月在线| 九月婷婷激情| 久久丁香五月天| 女人天堂AV| 亚洲精品V天堂中文字幕| 艹B高清无码| 超碰人人妻| 91岛国片| www99精品| 深爱五月激情网| 天天操天天操| 婷婷丁香人妻天天久久| 99视频在线| 99热精品在线| 欧类av怡春院| 在线播放成人| 久久香蕉福利| 色色永久| 婷婷丁香色无五月| 婷婷激情在线| 久久草大香蕉| 第九色区AV在线| www五月天com| 99er日韩| 久久婷婷一级片| 婷婷五月天成人| 99精品在线观看| 91无码一区人妻A片蜜| 五月香蕉网| 日日噜狠狠| 五月天激情国产综合AV| 日日噜噜夜夜狠狠久久丁香六月| 亚洲成人免费在线| 精品香蕉99久久久久网站| 婷婷五月天首页激情| 婷婷九月丁香| 9999色色色色| 五月婷六月| 99国产精品久久久久久久久久久 | 91操碰| 这里只有精品久| 玖玖午夜视频| 久久er99热精品一区二区| Av在线不卡一区| 亚洲乱码日产精品BD| 精品成人无码A片观看香草视频| 五月激情婷婷六月| 综合网色| 99亚洲精品综合在线| 97人人做| 婷激情五月| 91精品久久久久久久| 日本精品人妻无码77777| 国产激情在线| va婷婷在线免费观看| 香蕉操亚洲| 色婷婷中文| 色九九综合| 一起草性爱不卡视频| 六月婷婷综合| 五月天丁香婷婷社区| 婷婷五月天,影院| 国产成人av在线播放| 99人人爽| 无码一区二区三区四区五区| 久久爱婷婷| 狠狠精品干练久久久无码中文字幕| 91青娱乐青青草| 人人操人av| 99色在线观看| 日亚二欧美| 国产精产国品一二三在观看| 中文字幕在线不卡| 5月婷婷激情在线| 欧美大片免费观看| 超碰在线人妻| 97色色视频| 91色综合久久| www.99热最新视频8| 91久久1118| 91性人人| 色情综合网| 五月天电影网| 激情综合自拍五月婷婷色五月| 五月丁香综合| 丁香婷婷婷婷十二月在线观看视频| 五月婷伊人| 六月天婷婷| 伊人狠狠丁香婷婷综合尤物| 99热在线这里| 久久久精品婷婷五月天| 婷婷五月开心中文字幕色| 狠狠综合| 91人人爽狠狠狠| 亚洲性视频| 亚洲AV无码影院| 婷婷丁香五月在线播放| 综合色色五月| 开心五月丁香啪| 亚洲日韩乱码一区二区三区四区 | 色婷婷导航| 六月色色| 亚洲AV成人片无码网站| 桃色激情五月天| 丁香五月激情网| 51XX嘿嘿午夜无码| 丁香六月婷婷综合欧美| 狠狠爱丁香婷| 久狠日av| 热久91| 女人天堂 AV| 白度黄视频| 天天爽天天摸天天爱| 热久久婷婷| 五月婷婷丁香婷婷| 97色操| 亚洲成人av在线播放| 99九九中文字幕视频| 91九色中文| 精典久久| 婷婷五月天av| 色婷婷五月开心六月综合| 九九色婷婷| 激情五月丁香在线观看直播| 色五月丁香com|