黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

python 使用遞歸回溯完美解決八皇后的問題

瀏覽:14日期:2022-08-06 08:47:19

八皇后問題描述:在一個8✖️8的棋盤上,任意擺放8個棋子,要求任意兩個棋子不能在同一行,同一列,同一斜線上,問有多少種解法。

規則分析:

任意兩個棋子不能在同一行比較好辦,設置一個隊列,隊列里的每個元素代表一行,就能達到要求

任意兩個棋子不能在同一列也比較好處理,設置的隊列里每個元素的數值代表著每行棋子的列號,比如(0,7,3),表示第一行的棋子放在第一列,第二行的棋子放在第8列,第3行的棋子放在第4列(從0開始計算列號)

任意兩個棋子不能在同一斜線上,可以把整個棋盤當作是一個XOY平面,原點在棋盤的左上角,斜線的斜率為1或者-1,X為列號,Y為行號,推出斜線的表達式為Y=X+n或者Y=-X+n(n為常數,斜線確定下來之后n就確定了),進而可以推導出Y-X=n或者Y+X=n。也就是說在同一斜線上的兩個棋子行號與列號之和或者之差相等。X1+Y1=X2+Y2或者X1-Y1=X2-Y2。再進行變換能夠得到X1-X2=Y2-Y1或者X1-X2=Y1-Y2,也就是說|X1-Y1|=Y1-Y2。即判斷兩個棋子是否在同一斜線上,只要判斷出兩個棋子的列號之差是否等于兩個棋子的行號之差的絕對值就行了。

如下圖:

python 使用遞歸回溯完美解決八皇后的問題

將上述文字分析轉化為代碼,就可以判斷棋子之間是否符合規則了(abs(num)表示取num的絕對值)

def is_rule(queen_tup, new_queen): ''' :param queen_tup: 棋子隊列,用于保存已經放置好的棋子,數值代表相應棋子列號 :param new_queen: 被檢測棋子,數值代表列號 :return: True表示符合規則,False表示不符合規則 ''' num = len(queen_tup) for index, queen in enumerate(queen_tup): if new_queen == queen: # 判斷列號是否相等 return False if abs(new_queen-queen) == num-index: # 判斷列號之差絕對值是否與行號之差相等 return False return True

事實上,這段代買還可以簡寫,判斷列號之差也可以寫作是列號之差是否為0,這樣就可以使用一個in來完成整個判斷。修改后如下

def is_rule(queen_tup, new_queen): '''判斷棋子是否符合規則''' for index, queen in enumerate(queen_tup): if abs(new_queen-queen) in (len(queen_tup)-index, 0): # 判斷表達式 return False return True

接下來寫一下擺放棋子的函數

擺放棋子其實有兩種方法,第一種,求出8✖️8棋盤上每行放置一個棋子的所有方法,也就相當于全排列。然后再用沖突函數逐個判斷是否符合規則,如符合就放入隊列

第二種,在一行放入棋子,然后判斷是否符合規則,符合的情況下再去放下一行,下一行如果所有位置都不符合,退回到上一行,上一行的棋子再放置一個新的位置,然后再進去下一行判斷有沒有符合規則的棋子的位置。這種方法叫做遞歸回溯,每一行就相當于是一個回溯點

這里我使用第二種方法寫個函數,先上代碼,然后再解釋

def arrange_queen(num, queen_tup=list()): ''' :param num:棋盤的的行數,當然數值也等于棋盤的列數 :param queen_tup: 設置一個空隊列,用于保存符合規則的棋子的信息 ''' for new_queen in range(num): # 遍歷一行棋子的每一列 if is_rule(queen_tup, new_queen): # 判斷是否沖突 if len(queen_tup) == num-1: # 判斷是否是最后一行 yield [new_queen] # yield關鍵字 else: # 若果不是最后一行,遞歸函數接著放置棋子 for result in arrange_queen(num, queen_tup+[new_queen]): yield [new_queen] + result

如果能夠理解上邊函數的可以不用看下面的分析了,如果不明白,接下來我將舉幾個代碼例子來說明上面的函數

首先是yield,這個是python里的關鍵字,帶有yield的函數被稱作為生成器函數。函數在執行的時候,遇到yield關鍵字會暫停函數的執行,同時返回yield右邊的對象到函數被調用的地方,直到函數下次被執行,將回到yield所在的地方繼續執行,如果函數執行完畢還沒有遇到yield,就會拋出一個異常StopIteration。而生成器函數需要使用next方法來執行。下面的代碼將解釋生成器函數的執行:

def demo(): yield 1 yield 2 print(’end’) b = demo() # 將生成器函數的引用傳遞給變量bprint(next(b)) # 第一次執行生成器函數,返回 1 同時函數暫停,打印結果print(next(b)) # 第二次執行生成器函數,返回 2 同時函數暫停,打印結果print(next(b)) # 第三次執行生成器函數,因為沒有再遇到yield,函數執行完畢,拋出異常StopIteration

但是上述放置棋子的代碼中并沒用調用next方法來執行生成器函數,而是使用了for循環遍歷,并且在函數執行完畢之后也沒有拋出StopIteration的錯誤。那是因為for循環在執行的時候,會不斷的自動調用next方法,并且在遇到StopIteration的時候會捕捉異常并終止循環,以下代碼我將模擬一下for循環來執行生成器函數

def demo(): yield 1 yield 2 print(’end’) # 模擬的for循環b = demo()while True: try: next(b) ''' 此段區域寫for下的代碼塊 ''' except StopIteration: break # 實際的for循環for i in demo(): ''' for 下的代碼塊 ''' pass

通過這個可以知道,當使用for循環驅動生成器函數的時候,如果函數執行完畢還沒有遇到yield關鍵字,就會直接退出for循環而不會執行for循環下的代碼塊。值得注意的是,上邊兩個循環分別是調用了兩次生成器函數。生成器函數在一次執行完畢之后再繼續調用是不會得到結果的

了解了生成器函數與for循環是怎么驅動生成器函數之后,關于棋子的遞歸函數里面還有一個就是遞歸函數了。以前上課的時候老師將遞歸函數使用的例子是數值的階乘,這里我也使用階乘來解釋一下遞歸函數的執行。先介紹一下階乘:給定一個正整數n,規定n的階乘n!=n(n-1)(n-2).....1。也就是從1到n的累乘。(0!=1,這是規定,別問我為什么......)

def a(num): result = num*b(num-1) return result def b(num): result = num*c(num-1) return result def c(num): if num == 1: result = 1 return result result = a(3)print(result)

上述代碼是函數嵌套,只能用作計算3的階乘,我使用它來理解遞歸函數

a函數被調用執行的時候,傳參3,然后調用函數b,同時傳參3-1=2,函數b執行在調用函數c同時傳參2-1=1,函數c執行,判斷傳參結果符合,返回數值result到函數c被調用的地方,然后與b的參數2相乘,得到新的結果賦值給b里面的result,然后再將result返回到b被調用的地方,再乘a的參數3賦值給a里面的result,再將a里的result返回到函數a被調用的地方,然后打印結果。

這就是利用函數的嵌套來執行出3!,那么如果想算10000的函數呢?難道寫10000個函數?

這里發現a函數和b函數除了變量名字不一樣,其余的形式都一摸一樣,那么直接在a里面調用a函數,寫成如下形式

def a(num): result = num*a(num-1) return result

但是這樣的話,函數將不斷的被調用。所以加一個函數終止的條件,變成了

def a(num): if num == 1: return 1 else: return num*a(num-1) result = a(3)print(result)

這就是一個最簡單的遞歸函數

分析函數的運行,函數第一次被調用,傳遞參數3,判斷不滿足終止條件。繼續執行,接下來再調用函數a,傳遞參數3-1=2,判斷不滿足終止條件。繼續執行,接下來再調用函數a,傳遞參數2-1=1,判斷滿足終止條件,第三次被調用的函數結束,返回1到被調用的地方,與2相乘,第二次被調用的函數結束,結果再返回到第二次函數被調用的地方,與3相乘,第一次被調用的函數結束,結果返回

這就是這個最簡單的遞歸函數的執行過程。總結就是遞歸函數不斷的調用自身,直至滿足函數終止的條件

搞定了含有yield的生成器函數,for循環驅動生成器函數的實質,遞歸函數的調用,我們再來看八皇后的棋子擺放的函數,為了方便觀察,將‘八皇后’改為‘四皇后’,就是只算4✖️4棋盤上放置4個棋子

def arrange_queen(num, queen_tup=list()): ''' :param num:棋盤的的行數,當然數值也等于棋盤的列數 :param queen_tup: 設置一個空隊列,用于保存符合規則的棋子的信息 ''' for new_queen in range(num): # 遍歷一行棋子的每一列 if is_rule(queen_tup, new_queen): # 判斷是否沖突 if len(queen_tup) == num-1: # 判斷是否是最后一行 yield [new_queen] # yield關鍵字 else: # 若果不是最后一行,遞歸函數接著放置棋子 for result in arrange_queen(num, queen_tup+[new_queen]): yield [new_queen] + result for i in arrange_queen(4): print(i)

執行結果是

[1,3,0,2]

[2,0,3,1]

下面描述一下函數的執行過程:

1.放置第一行棋子。函數第一次被調用,傳遞參數4,空列表。放置棋子在第一行第一列,判斷棋子放置符合規則,判斷不是最后一行,將棋子位置信息放入列表,同時生成新的列表[0]

2.放置第二行棋子。函數第二次被調用,傳遞參數4,列表[0]。放置棋子在第二行第一列,判斷棋子不符合規則,接著放置棋子在第二行第二列,判斷棋子不符合規則,再放置棋子在第二行第三列,判斷符合規則,將棋子位置信息放入列表,同時生成新的列表[0,2]

3.放置第三行棋子。函數第三次被調用,傳遞參數4,列表[0,2]。放置棋子在第三行第一列,判斷棋子不符合規則,接著放置棋子在第三行第二列,判斷不符合規則,再放置棋子到第三行第三列,判斷不符合規則,再放置棋子到第三行第四列,判斷還是不符合規則。第三次函數調用結束

4.回到函數第二次被調用的地方,第二次被調用的函數接著放置棋子,上一次放置到了第三列,這次放到第四列,判斷符合規則,將棋子位置信息放入列表,同時生成新的列表[0,3]

5.函數被調用,用于放置第三行,從第一列再依次判斷到最后一列,如果符合規則,放入棋子信息,同時生成新的列表[0,3,1]

6.函數被調用,用于放置第四行,從第一列判斷到最后一列,都不符合規則,函數執行完畢,回到上一級

.......

N.當前三行的棋子放入都符合規則,而且第四行也符合規則了,此時第一次遇到yield關鍵字,第四級函數暫停,將棋子信息放入列表[2],返回到第三級,第三級函數也將第三級符合規則的棋子信息放入列表,同時與第四級返回的列表相加,得到一個新的列表,然后遇到第三級函數的關鍵字函數yield,第三級函數暫停,返回了[0,2]到第二級函數.......直到第一級函數暫停,返回結果[1,3,0,2],打印結果

然后第一級函數接著執行,驅動二級函數執行,二級驅動三級執行,三級驅動四級執行....

直到所有結果打印完畢,整個函數執行完畢

整個代碼為

def is_rule(queen_tup, new_queen): '''判斷棋子是否符合規則''' for index, queen in enumerate(queen_tup): if abs(new_queen-queen) in (len(queen_tup)-index, 0): # 判斷表達式 return False return True def arrange_queen(num, queen_tup=list()): ''' :param num:棋盤的的行數,當然數值也等于棋盤的列數 :param queen_tup: 設置一個空隊列,用于保存符合規則的棋子的信息 ''' for new_queen in range(num): # 遍歷一行棋子的每一列 if is_rule(queen_tup, new_queen): # 判斷是否沖突 if len(queen_tup) == num-1: # 判斷是否是最后一行 yield [new_queen] # yield關鍵字 else: # 若果不是最后一行,遞歸函數接著放置棋子 for result in arrange_queen(num, queen_tup+[new_queen]): yield [new_queen] + result for i in arrange_queen(8): print(i)

整個代碼最終要的就是遞歸回溯的思想,如果能真正的明白,不用用什么語法或者寫什么樣的函數,都能輕松解決這個八皇后的問題

接下來我貼出一個八皇后的的終極版(下面的代碼來源百度百科),不使用yield關鍵字的。可以自行理解一下

def queen(A, cur=0): if cur == len(A): print(A) return 0 for col in range(len(A)): A[cur], flag = col, True for row in range(cur): if A[row] == col or abs(col - A[row]) == cur - row: flag = False break if flag: queen(A, cur+1)queen([None]*8)

八皇后的所有解

[0, 4, 7, 5, 2, 6, 1, 3][0, 5, 7, 2, 6, 3, 1, 4][0, 6, 3, 5, 7, 1, 4, 2][0, 6, 4, 7, 1, 3, 5, 2][1, 3, 5, 7, 2, 0, 6, 4][1, 4, 6, 0, 2, 7, 5, 3][1, 4, 6, 3, 0, 7, 5, 2][1, 5, 0, 6, 3, 7, 2, 4][1, 5, 7, 2, 0, 3, 6, 4][1, 6, 2, 5, 7, 4, 0, 3][1, 6, 4, 7, 0, 3, 5, 2][1, 7, 5, 0, 2, 4, 6, 3][2, 0, 6, 4, 7, 1, 3, 5][2, 4, 1, 7, 0, 6, 3, 5][2, 4, 1, 7, 5, 3, 6, 0][2, 4, 6, 0, 3, 1, 7, 5][2, 4, 7, 3, 0, 6, 1, 5][2, 5, 1, 4, 7, 0, 6, 3][2, 5, 1, 6, 0, 3, 7, 4][2, 5, 1, 6, 4, 0, 7, 3][2, 5, 3, 0, 7, 4, 6, 1][2, 5, 3, 1, 7, 4, 6, 0][2, 5, 7, 0, 3, 6, 4, 1][2, 5, 7, 0, 4, 6, 1, 3][2, 5, 7, 1, 3, 0, 6, 4][2, 6, 1, 7, 4, 0, 3, 5][2, 6, 1, 7, 5, 3, 0, 4][2, 7, 3, 6, 0, 5, 1, 4][3, 0, 4, 7, 1, 6, 2, 5][3, 0, 4, 7, 5, 2, 6, 1][3, 1, 4, 7, 5, 0, 2, 6][3, 1, 6, 2, 5, 7, 0, 4][3, 1, 6, 2, 5, 7, 4, 0][3, 1, 6, 4, 0, 7, 5, 2][3, 1, 7, 4, 6, 0, 2, 5][3, 1, 7, 5, 0, 2, 4, 6][3, 5, 0, 4, 1, 7, 2, 6][3, 5, 7, 1, 6, 0, 2, 4][3, 5, 7, 2, 0, 6, 4, 1][3, 6, 0, 7, 4, 1, 5, 2][3, 6, 2, 7, 1, 4, 0, 5][3, 6, 4, 1, 5, 0, 2, 7][3, 6, 4, 2, 0, 5, 7, 1][3, 7, 0, 2, 5, 1, 6, 4][3, 7, 0, 4, 6, 1, 5, 2][3, 7, 4, 2, 0, 6, 1, 5][4, 0, 3, 5, 7, 1, 6, 2][4, 0, 7, 3, 1, 6, 2, 5][4, 0, 7, 5, 2, 6, 1, 3][4, 1, 3, 5, 7, 2, 0, 6][4, 1, 3, 6, 2, 7, 5, 0][4, 1, 5, 0, 6, 3, 7, 2][4, 1, 7, 0, 3, 6, 2, 5][4, 2, 0, 5, 7, 1, 3, 6][4, 2, 0, 6, 1, 7, 5, 3][4, 2, 7, 3, 6, 0, 5, 1][4, 6, 0, 2, 7, 5, 3, 1][4, 6, 0, 3, 1, 7, 5, 2][4, 6, 1, 3, 7, 0, 2, 5][4, 6, 1, 5, 2, 0, 3, 7][4, 6, 1, 5, 2, 0, 7, 3][4, 6, 3, 0, 2, 7, 5, 1][4, 7, 3, 0, 2, 5, 1, 6][4, 7, 3, 0, 6, 1, 5, 2][5, 0, 4, 1, 7, 2, 6, 3][5, 1, 6, 0, 2, 4, 7, 3][5, 1, 6, 0, 3, 7, 4, 2][5, 2, 0, 6, 4, 7, 1, 3][5, 2, 0, 7, 3, 1, 6, 4][5, 2, 0, 7, 4, 1, 3, 6][5, 2, 4, 6, 0, 3, 1, 7][5, 2, 4, 7, 0, 3, 1, 6][5, 2, 6, 1, 3, 7, 0, 4][5, 2, 6, 1, 7, 4, 0, 3][5, 2, 6, 3, 0, 7, 1, 4][5, 3, 0, 4, 7, 1, 6, 2][5, 3, 1, 7, 4, 6, 0, 2][5, 3, 6, 0, 2, 4, 1, 7][5, 3, 6, 0, 7, 1, 4, 2][5, 7, 1, 3, 0, 6, 4, 2][6, 0, 2, 7, 5, 3, 1, 4][6, 1, 3, 0, 7, 4, 2, 5][6, 1, 5, 2, 0, 3, 7, 4][6, 2, 0, 5, 7, 4, 1, 3][6, 2, 7, 1, 4, 0, 5, 3][6, 3, 1, 4, 7, 0, 2, 5][6, 3, 1, 7, 5, 0, 2, 4][6, 4, 2, 0, 5, 7, 1, 3][7, 1, 3, 0, 6, 4, 2, 5][7, 1, 4, 2, 0, 6, 3, 5][7, 2, 0, 5, 1, 4, 6, 3][7, 3, 0, 2, 5, 1, 6, 4]

最后最后,對比其他語言解決八皇后的代碼量

以上這篇python 使用遞歸回溯完美解決八皇后的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产人妻久久精品一区二区三区 | 91精品国产高清一区二区三区 | 色婷婷美国农夫综合激情亚洲 | 久久久久国产精品嫩草影院 | 五月激情婷婷丁香 | 国产乱码精品一区二区三区五月婷 | 强奷乱码中文字幕熟女导航 | 1515hh成人免费看 | 中文字幕人成乱码熟女香港 | 国产免费不卡 | 中国一级特黄毛片大片 | 日韩精品五区 | 久久人人爽人人爽人人片亚洲 | 成人免费观看视频大全 | 亚欧美精品 | 国产三区二区 | 污片在线免费看 | 东京热久久综合久久88 | 亚洲精品视 | 激情专区| 攵女h高h1v1深与浅 | 亚洲经典一区二区 | 久久爽精品区穿丝袜 | 亚洲v欧美v国产v在线观看 | 爱爱免费视频网站 | 日本污污网站 | 久射久| 肉色超薄丝袜脚交一区二区蜜av | 精品人妻人人做人人爽 | 久久精品一区二区三区不卡牛牛 | 俞飞鸿早期三级 | 波多野结衣初尝黑人 | 久久av一区二区三区 | 久操伊人网| 久久一区视频 | 亚洲在av极品无码天堂手机版 | 国产精品美女久久久另类人妖 | 果冻传媒mv国产董小宛主演是谁 | 男女做爰猛烈刺激 | 成人91免费视频 | 亚洲天堂精品视频 | 狠狠躁日日躁夜夜躁2022麻豆 | 色综合久久五月 | 日日夜夜撸影院 | 亚洲精品无码专区在线 | 伊人一区| 你懂的国产在线 | 国产亚洲第一页 | 亚洲欧洲视频在线 | 无码人妻av免费一区二区三区 | 成人性生交片无码免费看 | 九色porny丨首页在线 | 99sao| 精品人伦一区二区三区潘金莲 | 69黄色片| 毛片毛片免费看 | 亚洲精品精品 | 黄色av网站在线播放 | 欧美性猛交xxxx黑人 | 婷婷成人丁香五月综合激情 | 手机av网| 蜜桃av噜噜一区二区三区 | 国产精品国产三级国产aⅴ入口 | 成年人免费毛片 | 国产做无码视频在线观看浪潮 | 超碰三级 | 中日av乱码一区二区三区乱码 | 久久国产加勒比精品无码 | 一级久久久久久 | 极品少妇被黑人白浆直流 | 欧美成人综合网站 | 久久免费视频精品 | 久久国产影院 | 中文字幕第99页 | 日韩无砖专区2021嘟嘟网 | 中文字幕第12页 | 欧美激情精品久久久久久免费 | 久久蜜臀精品av | 老头老夫妇自拍性tv | 久久精品99国产国产精 | 永久免费在线视频 | 91蝌蚪视频在线 | 国产精品搬运 | 亚洲日本不卡 | 亚洲精品噜噜丝袜区精品 | 国产一精品一av一免费 | 欧美成人三级视频 | 国产精品爽爽久久久久久豆腐 | 国产精品老热丝在线观看 | 中文成人无码精品久久久 | 偷窥欧美wc经典tv | 97狠狠干| 亚洲乱人伦中文字幕无码 | 国产成人久久精品激情 | 狼人色综合| 国产精品裸体瑜伽视频 | 欧美大浪妇猛交饥渴大叫 | 久久传媒av性色av人人爽网站 | 中文字幕美人妻亅u乚一596 | 成人丁香婷婷 | 亚州欧美日韩 | 一区二区黄色 | 国产呻吟av | 蜜桃视频在线观看免费视频网站www | 特黄特色大片免费 | 穿越异世荒淫h啪肉np文 | 97久久超碰国产精品2021 | 97国内揄拍国内精品对白 | av淘宝国产在线观看 | 山林妇女勾搭老头av | 狠狠色噜噜狠狠狠四色米奇 | 久久精品中文闷骚内射 | 天堂av男人在线播放 | 91av免费在线观看 | 亚洲国产婷婷六月丁香 | 日韩精品av一区二区三区 | 国产午夜性爽视频男人的天堂 | 三极片黄色 | 成人免费色视频 | www噜噜偷拍在线视频 | 同性情a三级a三级a三级 | 无码人妻精品一区二区蜜桃色欲 | 啦啦啦www在线观看免费视频 | 人人爽久久久噜噜噜婷婷 | 91高清网站 | 欧美精品乱码视频一二专区 | 精品午夜福利无人区乱码一区 | 欧美乱妇高清无乱码在线观看 | 国产在线视频福利 | 男人靠女人免费视频网站 | 中文字幕一区在线观看视频 | 欧美精品无码一区二区三区 | 成人深夜福利视频 | 久草在线视频免费资源观看 | 午夜极品视频 | 大胸少妇裸体无遮挡啪啪 | 亚洲乳大丰满中文字幕 | 精品无人国产偷自产在线 | 成人乱码一区二区三区av | 东京道一本热中文字幕 | 久久r| 美女胸18大禁视频网站 | 羞羞视频在线观看 | 国产91精 | 激情内射亚洲一区二区三区 | 精品av无码国产一区二区 | 欧美一卡二卡在线观看 | 亚洲欧洲免费 | 久久精品视频在线看99 | 黄频视频在线观看 | 国产夜色精品一区二区av | av片久久| 国产麻豆成人传媒免费观看 | 在线观看国产福利 | 中文视频在线观看 | 亚洲欧美另类综合 | 中文字幕免费在线播放 | 九九综合九色综合网站 | 国产区图片区小说区亚洲区 | 蜜桃成人在线观看 | 无码人妻丰满熟妇a片护士 日本欧美大码a在线观看 | 亚洲综合色一区 | 午夜精品久久久久久久99热 | videosg最新另类大全 | 麻豆成人久久精品综合网址 | 国产精品成人av久久 | 欧美风情第一页 | 日韩特级片 | 久久久欧美精品sm网站 | av网站亚洲 | 亚洲一区无码中文字幕 | 久久久久国精品产熟女久色 | av片免费| av网站天堂| 国产精品分类 | 丰满少妇在线观看网站 | 九色91av| 日本不卡高清一区二区三区 | 最新国产网站 | 久久毛片基地 | 欧美色图3p| 激情欧美在线观看 | 中文字幕乱码一区二区三区四区 | 人妻激情偷乱视频一区二区三区 | 亚洲成a| 亚洲色欲色欲www在线观看 | 国产又色又爽又刺激在线播放 | 久久久国产精品一区二区三区 | 天天操天天操天天操天天 | 男人扒开女人内裤强吻桶进去 | 成人伊人精品色xxxx视频 | 国产毛片毛片精品天天看软件 | 狠狠干av| 六月成人网 | 久久久噜噜噜久久熟女aa片 | 免费av一区二区三区 | 中文字幕第5页 | 激情小说中文字幕 | 黄色网址免费 | 91福利网| 国产精品第一页在线观看 | 精品国产一区二区三区2021 | 免费无遮挡无码永久视频 | 国产91在线看 | 精品亚洲国产成人 | 小视频免费在线观看 | 欧美精品久久久久久久监狱 | 18禁亚洲深夜福利入口 | 成人在线观看亚洲 | 无套内谢孕妇毛片免费看 | 国产又粗又猛又爽又黄的 | 国产成人三级 | 无码人妻丰满熟妇啪啪欧美 | 国产亚洲精品久久久久久牛牛 | 97国产精品人人爽人人做 | 射死你天天日 | 国产精品一区二区三区四 | 日韩成人小视频 | 欧美精品在线视频 | 国产免费一区二区三区最新6 | 国产成人高清精品免费 | 日本天天黄网站 | 久久久久久香蕉 | 黄色大片毛片 | 亚州国产精品 | 天天色综合av | 免费无遮挡无码永久在线观看视频 | 五月天综合视频 | 情侣自拍av | 国产成人在线免费观看 | av无码a在线观看 | 国产猛男猛女超爽免费视频 | 欧美性猛交久久久乱大交小说 | 免费成人在线观看 | 欧美1区2区3区 | 国产三级三级三级精品8ⅰ区 | 97caoav| 少妇色诱麻豆色哟哟 | 一区二区三区欧美精品 | 成人一区二区三区在线观看 | 国产色a在线观看 | 国产三香港三韩国三级古装 | 亚洲乱码日产精品bd在线 | 极品无码av国模在线观看 | 欧美尿交 magnet| 强行18分钟处破痛哭av | 久久精品国产99精品亚洲 | 爱情岛论坛网亚洲品质 | 国产大片黄在线观看 | 欧美69久成人做爰视频 | 一区二三国产 | h片在线观看视频 | 国产美女精品一区二区三区 | 久章草影院| 国产视频一区三区 | 一边添奶一边摸pp爽快视频 | 国产资源久久 | 大肉大捧一进一出好爽视频mba | 久久天堂av综合合色蜜桃网 | 国产欧美精品一区二区三区四区 | 91精品国产91久久久久 | 丁香五月欧美成人 | 婷婷激情小说网 | 国产精品高潮呻吟av久久 | 亚洲第一成年人网站 | 免费人成激情视频在线观看冫 | 1024久久| 一级特黄色片 | 永久免费a级在线视频 | 337p亚洲欧洲色噜噜噜 | 亚洲国产另类久久久精品小说 | 国产一区二区三区在线视频 | 加勒比成人在线 | 亚洲中文字幕av无码区 | 欧美综合在线视频 | 亚洲国产一区二区三区日本久久久 | 小罗莉极品一线天在线 | 8050午夜二级无码中文字幕 | 日本高清在线观看 | 亚洲欧美激情国产综合久久久 | 九色国产精品视频 | 亚洲25p| 国产精品国产三级国产专业不 | 337p粉嫩大胆噜噜噜 | 91免费视频网 | 狠狠干狠狠艹 | 美女黄18以下禁止观看 | 88国产精品视频一区二区三区 | 色噜噜在线播放 | 日日爱影视 | 国模杨依粉嫩蝴蝶150p | 91在线视频观看 | 国产一卡在线 | a国产视频| 一本色道久久综合亚洲精品小说 | 国产日本欧美在线观看 | 特黄特色大片免费播放器图片 | 亚洲乳大丰满中文字幕 | 亚洲精品乱码久久久久 | 精品一区在线视频 | 成人性生交大片免费 | 182tv在线观看免费午夜免费线路 | 国产九九在线观看 | 亚洲国产精品国自产拍av秋霞 | 熟女肥臀白浆大屁股一区二区 | 中国丰满老妇xxxxx交性 | 精品va久久久噜噜久久软件 | 日本二区三区视频 | 欧美日韩一级二级 | 欧美三级视频网站 | 狠狠综合亚洲综合亚洲色 | 日韩岛国片 | 九色中文 | 中文字幕在线观看第一页 | 大桥未久女教师在线观看bd22 | 免费在线观看日韩av | 日本在线资源 | 国产精品国色综合久久 | 四虎884aa成人精品 | 久久女| 尹人香蕉久久99天天拍 | 一本大道无码日韩精品影视_ | 国产三级三级三级精品8ⅰ区 | 日本免费三片免费观看东热 | 亚洲视频综合 | 亚洲男女视频 | 精品国产91洋老外米糕 | 久久久久久久久久久久 | 日本少妇做爰全过程二区 | 亚洲自拍色图 | 99re6这里只有精品 | 日本理伦片午夜理伦片 | 91网站在线免费观看 | 色婷婷一区二区 | 成人性午夜免费网站蜜蜂 | 亚洲中文字幕无码一区在线 | 国产一级二级三级 | 久久精品久久精品久久 | 国产av久久久久精东av | 日韩av无码中文无码电影 | 久久精品国产成人av | 少妇精品视频一区二区免费看 | 欧美大色| 久久国产精品福利一区二区三区 | 免费a网| 成年美女黄网 | 成年女人18级毛片毛片免费 | 99热中文| chinese少妇啪啪高潮 | 精品久久中文 | 色淫网站免费视频 | 91午夜视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 日本边添边摸边做边爱 | 国产精品久久久久永久免费看 | 手机av在线| xxxx国产片 | x88av在线 | 中国美女毛茸茸撒尿 | 国产一级免费看 | 三上悠亚三级 | 色视频www在线播放国产成人 | 人妻无码中文字幕免费视频蜜桃 | 国产学生初高中女 | 中文字幕一精品亚洲无线一区 | 久久久久久91亚洲精品中文字幕 | 日韩av在线免费看 | 亚洲国产精品毛片av不卡在线 | 粉嫩av一区二区三区免费野 | 中文字幕乱码在线蜜乳欧美字幕 | 国产精品毛片一区二区在线看舒淇 | 爱爱免费视频网址 | 久久r精品国产99久久6不卡 | 日韩欧美亚 | 在线中文天堂 | 欧美一级在线看 | 国产乱人伦精品 | 日韩成人福利 | 无码精品久久久久久人妻中字 | 国产一二三区免费视频 | 国产做a爰片久久毛片a片美国 | a视频在线免费观看 | 国产a久久麻豆入口 | av导航网站 | 天天插天天射 | 欧美人与性动交g欧美精器 狠狠躁18三区二区一区ai明星 | 未满小14洗澡无码视频网站 | 精二青青河边草解释正确的是 | 午夜在线影院 | 国产综合在线视频 | 欧美精品色呦呦 | 一本一本久久a久久精品牛牛影视 | 久久国产一区二区三区 | 我要看黄色毛片 | 欧美综合在线观看 | 亚洲中文字幕在线第六区 | 欧美激情免费观看 | 国产啪视频 | 一级黄色片在线播放 | 99精品久久久中文字幕 | 中国女人黄色大片 | 免费一级黄 | 蜜色视频| 国产亚洲视频中文字幕97精品 | 婷婷天堂| 日韩亚洲欧美中文高清在线 | 成 人 免费观看网站 | 嫩草私人影院 | 天堂av手机版 | 亚洲午夜av | 国产系列在线观看 | 在线国产视频一区 | 鲁丝片一区二区三区 | 男男羞羞视频网站国产 | 欧美专区在线播放 | 98色花堂永久在线网站 | 99久久久精品免费观看国产 | 亚洲国产第一 | 日本老熟妇乱 | 国产欧美网站 | 国产99视频精品免费视频7 | 国产成人免费观看视频 | av高清在线 | 天堂中文视频在线 | 伊人激情网| av中文字幕潮喷人妻系列 | 精品久久国产字幕高潮 | 一二三四日本高清社区5 | 成人免费视频国产 | 伊人爱爱网 | 最新日韩中文字幕 | 大肉大捧一进一出好爽 | 国产日产亚洲精品 | 国产精品成人免费视频 | 伊人春色网 | 图片区乱熟图片区小说 | 六月丁香在线视频 | 日本一级特黄高潮 | 美女与动人物aa交性 | 30一40一50老女人毛片 | 毛茸茸性xxxx毛茸茸毛茸茸 | 夫妻毛片 | 精品亚洲成a人无码成a在线观看 | 麻豆久久精品 | 国产清纯白嫩初高生视频在线观看 | 久久艹国产 | 国产精品18hdxxxⅹ在线 | 欧美成人国产精品高潮 | sm捆绑一区二区三区 | 风流少妇又紧又爽又丰满 | www波多野结衣com | 少妇高潮叫床对白xxxxx | 一二三国产精品 | 日日摸日日碰人妻无码 | 91视频在线| 亚洲m码 欧洲s码sss222 | 亚洲va欧美va人人爽 | 欧美色图在线播放 | 日本三级中国三级99人妇网站 | 视频精品一区二区 | 毛片a久久99亚洲欧美毛片 | 538精品视频在线播放 | 国产精品wwwdhxxx| 国产免费拔擦拔擦8x高清在线人 | 夜夜躁狠狠躁日日躁视频 | 国产午夜手机精彩视频 | 国产在线看| 久久精品一二区 | av av在线| 波多野结衣女同 | 天天操夜夜草 | 国产97在线 | 日韩 | 关秀媚三级 | 国产sm调教折磨视频 | 国内少妇毛片视频 | 日韩 欧美 亚洲 精品 少妇 | 亚拍精品一区二区三区探花 | 国产午夜一级片 | 欧美精品久久久久久久久久 | 中文字幕播放 | 午夜精品久久久久久久99老熟妇 | 午夜视频免费 | 日日摸夜夜添夜夜躁好吊 | 成年视频在线 | 国产精品亚洲一区二区三区在线 | 成人av一区| 国产一区二区在线不卡 | 午夜在线视频观看日韩17c | 五月天色婷婷综合 | 国产精品国产三级国产aⅴ下载 | 少妇激情av一区二区三区 | 中文字幕精品久久久久 | 欧美精品与人动性物交免费看 | 麻豆精品久久久 | 新婚少妇在线观看一区 | 欧美一区二区三区免费在线观看 | 91羞羞视频| 夜夜躁狠狠躁日日躁 | 亚洲乱码中文字幕综合 | 亚洲性生活网站 | 少妇一级淫片免费 | 亚洲欧洲日本一区二区三区 | 国产麻豆精品一区二区三区v视界 | 国产偷久久一区精品69 | 18禁无遮挡羞羞污污污污免费 | 哪个网站可以看毛片 | 青娱乐最新官网 | 欧美日韩国产在线观看 | 95精品视频| 中文字幕 国产精品 | 日韩精品久久无码中文字幕 | 欧美久久久久久久久中文字幕 | 国产欧美一区二区三区免费视频 | 中国香蕉视频 | 二区三区在线观看 | 欧美最猛性xxxxx免费 | 亚洲国产欧美国产综合一区 | 大肉大捧一进一出好爽视频mba | 五月天激情电影 | 国产麻豆91| 亚洲欧洲国产综合 | 美女的奶胸大爽爽大片 | 亚洲同性同志一二三专区 | 日本在线高清不卡免费播放 | 主播粉嫩国产在线精品 | 和尚与寡妇在线三级 | 精品国产欧美一区二区 | 色爽爽一区二区三区 | 天天躁日日躁狠狠躁一区 | 国产精品国产自产拍高清av | 国产av国片偷人妻麻豆 | 国产内射999视频一区 | 国产原创91 | 久久综合五月丁香六月丁香 | 亚洲先锋影音 | 黄色大片网站在线观看 | 91在线播放视频 | 国产真实乱人偷精品 | 亚洲福利视频网 | 国产精品久久婷婷六月丁香 | 777色狠狠一区二区三区 | 免费va人成视频网站全 | 色哟哟网站在线观看 | 学生粉嫩无套白浆第一次 | 叼嘿视频在线免费观看 | 精品一区二区三区欧美 | 国产suv精品一区二区33 | 香蕉视频在线观看网址 | 天天av天天好逼 | 日韩在线网址 | 欧美精品一二三四区 | 自拍偷拍第一页 | 亚洲操图 | 中文字幕人妻无码视频 | 99精品网站| 国产精品第一页在线观看 | 日韩成人短视频 | 成人精品一区二区户外勾搭野战 | 日本少妇高潮叫床声一区二 | 伊人啪啪网| 亚洲黄色软件 | 亚欧美视频 | 国产嫩草在线观看视频 | 国产夫妻精品 | 日韩一级在线观看视频 | 国产夫绿帽单男3p精品视频 | 情趣用品a∨视频在线观看 情一色一乱一欲一区二区 情欲都市成熟美妇大肉臀 秋霞成人 | 天天夜夜久久 | 免费看男女做爰爽爽视频 | 亚洲乱码一区二区 | 午夜视频在线 | 成人二三区 | 亚洲三级在线播放 | 蜜桃国精产品二三三区视频 | 免费看成人哺乳视频 | 亚洲日韩aⅴ在线视频 | 国产高清av首播原创麻豆 | 五月激情综合网 | 欧美日韩中文在线视频 | 久一在线视频 | 精品人妻码一区二区三区 | 国产欧美一区二区三区在线看 | 天天做天天爱夜夜爽毛片 | a在线观看免费网站大全 | 国产亚洲欧美日韩俺去了 | 又大又长粗又爽又黄少妇视频 | 久久人人爽爽 | 天天色欧美 | 凸凹人妻人人澡人人添 | 91在线视频在线观看 | 一级一片免费播放 | 国内偷拍av | 日韩成人免费在线视频 | xvideos成人免费中文版 | 日本少妇久久久 | 亚洲系列中文字幕 | 99国产精品国产精品九九 | 91少妇丨porny丨 | 精品国产乱码一区 | 一区二区激情日韩五月天 | 最全aⅴ番号库网 | 久久久久久久女女女又又 | 黑人巨大精品欧美一区二区三区 | 国产喂奶挤奶一区二区三区 | 2019天天操 | 天堂久久av | av免费观看网 | 国产九九九九九 | 丁香花开心四播房麻豆 | 日本免费一区二区三区视频观看 | 男人女人黄 色视频免费 | 国产成人精品网 | 中国色老太hd | 中文字幕第3页 | 日韩爱爱网 |