青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Creative Commons License
本Blog采用 知識(shí)共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議 進(jìn)行許可。 —— Fox <游戲人生>

游戲人生

游戲人生 != ( 人生 == 游戲 )
站點(diǎn)遷移至:http://www.yulefox.com。請(qǐng)訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
posts - 62, comments - 508, trackbacks - 0, articles - 7

編程之美:一摞烙餅的排序(未完成)

Posted on 2008-04-20 14:59 Fox 閱讀(4068) 評(píng)論(13)  編輯 收藏 引用 所屬分類(lèi): G游戲編程

Author: Fox

首先聲明:本人沒(méi)有解決掉這個(gè)問(wèn)題。

相比第一道讓CPU占用率曲線(xiàn)聽(tīng)你指揮對(duì)Windows系統(tǒng)中CPU占有率概念的考察和對(duì)API的使用,以及第二道中國(guó)象棋將帥問(wèn)題對(duì)抽象建模的考察。這道題目才算是一道算法題吧?之前那兩道尤其是中國(guó)象棋將帥問(wèn)題總有點(diǎn)腦筋急轉(zhuǎn)彎的味道。

題目:星期五的晚上,一幫同事在希格瑪大廈附近的“硬盤(pán)酒吧”多喝了幾杯。程序員多喝了幾杯之后談什么呢?自然是算法問(wèn)題。有個(gè)同事說(shuō):

“我以前在餐館打工,顧客經(jīng)常點(diǎn)非常多的烙餅。店里的餅大小不一,我習(xí)慣在到達(dá)顧客飯桌前,把一摞餅按照大小次序擺好——小的在上面,大的在下面。由于我一只手托著盤(pán)子,只好用另一只手,一次抓住最上面的幾塊餅,把它們上下顛倒個(gè)個(gè)兒,反復(fù)幾次之后,這摞烙餅就排好序了。

我后來(lái)想,這實(shí)際上是個(gè)有趣的排序問(wèn)題:假設(shè)有n塊大小不一的烙餅,那最少要翻幾次,才能達(dá)到最后大小有序的結(jié)果呢?

你能否寫(xiě)出一個(gè)程序,對(duì)于n塊大小不一的烙餅,輸出最優(yōu)化的翻餅過(guò)程呢?

排序問(wèn)題是數(shù)據(jù)結(jié)構(gòu)和算法中比較重要的一個(gè)了,之前在一篇被同事成為標(biāo)題黨的文章中因?yàn)樘岬脚判蛑嘘P(guān)于(非)穩(wěn)定排序的概念還被很多TX鄙視了一番,甚至引來(lái)人身攻擊,現(xiàn)在想來(lái)都有些后怕。

這道題目一眼看上去最先讓我想到的居然是那道經(jīng)典的漢諾塔(Tower of Hanoi)問(wèn)題(當(dāng)然,漢諾塔不算排序問(wèn)題)。

1) 相似點(diǎn)★:

a. 都要不斷調(diào)整位置,最終實(shí)現(xiàn)從小到大排好;

b. 都要借助中間量進(jìn)行調(diào)整。

2) 不同處★:

a. 漢諾塔有多出來(lái)的兩根針,翻烙餅只有一只手,明確說(shuō)明沒(méi)有第三只手;

b. 漢諾塔一次只能移動(dòng)一個(gè),翻烙餅沒(méi)限制;

c. 漢諾塔要保證小的始終在上面,翻烙餅沒(méi)限制;

d. 漢諾塔移動(dòng)之前就有序,所以其移動(dòng)次數(shù)是固定的,算法的邏輯也固定(不管是遞歸還是棧操作),翻烙餅沒(méi)有這個(gè)前提。

3) 把題目用程序語(yǔ)言描述一下吧★:

a. Input : n.

b. Process : generate n random number 0-(n-1), sortting.

c. Output : 0, 1, ..., n-1, and move times num.

4) 存儲(chǔ)結(jié)構(gòu)★★★:

我最開(kāi)始想到的是:這一摞烙餅其實(shí)就是一個(gè)雙鏈表,每翻一次相當(dāng)于將頭節(jié)點(diǎn)H與某非頭節(jié)點(diǎn)N進(jìn)行如下變換:

H->next = N->next

N->prior = H->prior = NULL

N->next->prior = H

如果使用普通的雙鏈表,這兒就有一個(gè)很明顯的問(wèn)題,H和N之間的所有節(jié)點(diǎn)(如果有的話(huà))的前趨prior和后繼next互換了,對(duì)于n比較大的情況,這個(gè)操作明顯浪費(fèi)時(shí)間?。?font color=#800000>交換前趨prior和后繼next和題目要求的翻幾次似乎也沒(méi)有關(guān)系吧?只是我作為一個(gè)一線(xiàn)的Coder考慮的太具體了)。如果摒棄前趨和后繼的概念,又該怎樣描述呢?

唐朝禪宗大師青原行思曾說(shuō):參禪之初,看山是山,看水是水;禪有悟時(shí),看山不是山,看水不是水;禪中徹悟,看山仍然山,看水仍然是水

俗:日,扯那么多,什么意思?

師:前趨不是前趨,后繼不是后繼。

俗:日,前趨不是前趨,難道是后繼嗎?

師:然也。

Fox:O, my God!整點(diǎn)實(shí)際的吧!翻轉(zhuǎn)一次之后,前趨視為后繼,后繼視為前趨,第奇數(shù)次翻轉(zhuǎn)的前趨是后繼,第偶數(shù)次翻轉(zhuǎn)的后繼是前趨。

整個(gè)鏈表的形態(tài)如下:

H:Head, F:First, G:F's next, B:C's prior, C:Change, D, C's next, L:Last.

H<==>F<==>G<=...=>B<==>C<==>D<=...=>L

F與C交換的操作如下(Word、PS畫(huà)圖),n表示next,p表示prior:

這里只需要修改F、D節(jié)點(diǎn)的prior,H、C節(jié)點(diǎn)的next,其他節(jié)點(diǎn)不變。

后面想了一下,這種方式很難在不添加flag或者對(duì)換n、p的情況下正常操作,沒(méi)有找到好的方法L,如果你有好的方法不妨告訴我。

最后只好作罷,何苦呢?直接使用數(shù)組就完了嘛J!既然是數(shù)組,除了翻轉(zhuǎn)移動(dòng)麻煩一點(diǎn),理解和操作還是很容易的。

果然不是搞數(shù)學(xué)、算法出身的,一上來(lái)考慮的就是如何存儲(chǔ)^.^'''',而不是算法本身。

更可笑的是,扯了半天,最后居然還是用數(shù)組

5) 算法分析★★★★★:

冒泡排序思想:

最關(guān)鍵的是要抽象出隨機(jī)數(shù)列特征(含當(dāng)前和移動(dòng)后數(shù)列特征的抽象),并盡量使每一次翻轉(zhuǎn)有效(所謂有效,即盡量保證每一次操作都向最后的有序靠近而非背離 )。

師:要使大頭在后,應(yīng)使大頭在后。

俗:日,這是什么狗屁邏輯?

師:因果。在前既是在后。

俗:USA, CNN(操你娘)。

師:翻轉(zhuǎn)。既不在前,也不在后,使之在前,使之在后。

俗:日,什么東西?既不在前,也不在后,不前不后,難道在中間啊?

師:然也。

Fox:O, my God!整點(diǎn)實(shí)際的吧!整個(gè)過(guò)程分為n輪,在第i(i=0, 1, ..., n-1)輪:

a. 找到大頭n-i,是否有序?是,轉(zhuǎn)g;

b. 是否大頭在后?是,轉(zhuǎn)f;

c. 是否大頭在前?是,轉(zhuǎn)e;

d. 將隊(duì)頭(第一個(gè)元素)與大頭n-i對(duì)調(diào)(別忘了是翻轉(zhuǎn),中間元素也變序了),++times;

e. 將隊(duì)頭n-i與第n-i個(gè)元素對(duì)調(diào),++times;

f. ++i,轉(zhuǎn)a;

g. 輸出序列(0, 1, ..., n)和翻轉(zhuǎn)次數(shù)times;OVER:D。

快速排序思想:

在最開(kāi)始的時(shí)候,我就想到使用快速排序的思想,先使整個(gè)數(shù)列局部有序,最后調(diào)整使全部有序。悲哀的是,在我考慮 4 3 1 2這個(gè)數(shù)列的時(shí)候,我斷定還要通過(guò)上面的方式重新像冒泡排序一樣重新來(lái)過(guò),立即放棄想法,于是給了上面的思路,而且堅(jiān)定的認(rèn)為這個(gè)方法已經(jīng)很好。結(jié)果,下午GR告訴我他的反例:4 3 1 2 --> 2 1 3 4|--> 1 2| 3 4,“|”表示從該處翻轉(zhuǎn)。

我必須承認(rèn),這才是好的方法,我過(guò)分拘泥于不去改動(dòng)已經(jīng)有序的部分。然而,這家伙只知道反駁我,卻無(wú)法給出算法。

我只好自己重新考慮局部有序之后的問(wèn)題。

十分鐘后,我有了如下的答案(目前我能想到的最佳答案),但不得不承認(rèn),表述算法比給出一種情況對(duì)應(yīng)的解要麻煩的多的多的多,假定A、B滿(mǎn)足A==B-1,即A、B為相鄰數(shù)列(為簡(jiǎn)單記,元素和數(shù)列統(tǒng)稱(chēng)數(shù)列)。則A、B的組合類(lèi)型有8種:B(O)A(O)、B(C)A(O)、B(O)A(C)、B(C)A(C)、A(C)B(O)、A(O)B(O)、A(C)B(C)、A(O)B(C),O表示正向(obverse)C表示逆向(reverse),以1 2 3 4為例:

B(O)A(O):3 4 1 2<2>、B(C)A(O):4 3 1 2<4>、B(O)A(C):3 4 2 1<5>、B(C)A(C):4 3 2 1<7>;

A(C)B(C):2 1 4 3<1>、A(O)B(C):1 2 4 3<3>A(C)B(O):2 1 3 4<6>、A(O)B(O):1 2 3 4<8>。

對(duì)應(yīng)操作規(guī)則如下:

a. 0x0101: B(O)A(O) --> B(C)A(O); 3

b. 0x0001: B(C)A(O) --> A(C)B(O); 2

c. 0x0101: B(O)A(C) --> B(C)A(C);1

d. 0x0000: B(C)A(C):如果當(dāng)前只剩A、B兩個(gè)子列,則翻轉(zhuǎn)一次成A(O)B(O)1 2 3 4為最終結(jié)果,否則,認(rèn)為B(C)A(C)可以作為一個(gè)逆序有序數(shù)列考慮,暫時(shí)無(wú)需翻轉(zhuǎn);

e. 0x1010: A(C)B(C) --> A(O)B(C); 3

f. 0x1110: A(O)B(C) --> B(O)A(C);  2

g. 0x1011: A(C)B(O) --> A(O)B(O);1

h. 0x1111: A(O)B(O):A、B可以作為一個(gè)有序數(shù)列考慮,如果當(dāng)前只有A、B兩個(gè)子列,則正序序列A(O)B(O)1 2 3 4為最終結(jié)果

上面規(guī)則的制定其實(shí)是反向?qū)С?/strong>的,遵循的原則是,正序有序的A(O)B(O)和逆序有序的B(C)A(C)可以看作一個(gè)序列,A(C)B(O)、B(O)A(C)可一步達(dá)到,B(C)A(O)、A(O)B(C)可兩步達(dá)到,B(O)A(O)、A(C)B(C)可三步達(dá)到。即對(duì)于4個(gè)元素,最壞的的A(C)B(C)需要4步(對(duì)應(yīng)于上面的冒泡法卻只需要3步L)。而且當(dāng)元素比較多的時(shí)候,記住1、2個(gè)有序子列是可行的,但對(duì)于完全無(wú)序的數(shù)列,分析出所有有序子列,既不現(xiàn)實(shí),也無(wú)必要。

修改規(guī)則如下:當(dāng)隊(duì)頭無(wú)序&&相鄰數(shù)列有序||隊(duì)頭有序,翻轉(zhuǎn)隊(duì)頭;否則,將隊(duì)頭連同該元素一同翻轉(zhuǎn)。

由此可見(jiàn),這算法還要改進(jìn):

a. 判斷Array[0]是否正序連續(xù)(連續(xù)個(gè)數(shù)nNum1),如果nNum1==n,轉(zhuǎn)i,如果nNum1!=1,轉(zhuǎn)c;

b. 判斷Array[0]是否逆序連續(xù)(連續(xù)個(gè)數(shù)nNum1),如果nNum1==n,翻轉(zhuǎn)Array,轉(zhuǎn)f;

c. 從下標(biāo)nNum1開(kāi)始查找Array[0]+1(bObserve = true)和Array[0]-1(bObserve = false)的下標(biāo)nStart2,如果nNum1==nStart2bOrder1==true,轉(zhuǎn)e,如果nNum1!=1,置nEnd2=nStart2;

d. 判斷( bObserve == true&&Array[nStart2]+1==Array[nStart2+1] ) || ( bObserve == false&&Array[nStart2]==Array[nStart2+1]+1 ),true則置nEnd2=nStart2,false則置nEnd2=nStart2+1;

e. 翻轉(zhuǎn)Array[0] to Array[nEnd2],轉(zhuǎn)a;

f. 輸出Arraytimes

這樣來(lái)看,改進(jìn)后的算法竟簡(jiǎn)單了許多!

不幸的是:按上面給出的算法翻轉(zhuǎn)合并1 3 5 6 4 8 7 9 2 0:

1 3 5 6 4 8 7 9| 2| 0

2 9 7 8 4 6 5| 3| 1 0

3 5 6| 4| 8 7 9 2 1 0

4 6| 5| 3 8 7 9 2 1 0

5 6| 4 3 8 7 9 2 1 0

6 5 4 3 8| 7| 9 2 1 0

7 8 3 4 5| 6| 9 2 1 0

進(jìn)入死循環(huán)了……

很明顯應(yīng)該是下面這個(gè)樣子:

1 3 5 6 4 8 7 9 2| 0

9 8 7 4 6 5| 3 1 2 0

5 6 4| 7 8 9 3 1 2 0

6 5 4 7| 8 9 3 1 2 0

4 5 6 7 8 9 3| 1 2 0

3 4 5 6 7 8 9 1 2| 0

1 9 8 7 6 5 4 3 2| 0

2 3 4 5 6 7 8 9 1| 0

9 8 7 6 5 4 3 2 1 0|

0 1 2 3 4 5 6 7 8 9

執(zhí)行9次翻轉(zhuǎn)。算法如何得到呢?

a. 確定最小無(wú)序完整子集SnSn中含n>1個(gè)連續(xù)數(shù));

b. 將Sn最前面的有序子集Soo>1)加以考慮,一個(gè)子集??jī)蓚€(gè)子集?

______________________________________________________________________________

O, my God!

這個(gè)問(wèn)題,從前天晚上到現(xiàn)在,思考、分析、抽象了至少有15個(gè)小時(shí)以上了:

a. Apr.18th-19th: 23:00 - 01:30

b. Apr.19th: 11:00 - 13:00

c. Apr.19th-20th: 22:00 - 05:30

d. Apr.20th: 11:00 - 15:00

結(jié)果是,到現(xiàn)在無(wú)法給出一個(gè)最優(yōu)的翻轉(zhuǎn)算法。一個(gè)周末都花在這上面了,準(zhǔn)備放棄L。

LP催著我讓我回學(xué)校,是該回去了!

Feedback

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-21 09:59 by 亨德列克
這個(gè)跟那個(gè)0、1開(kāi)關(guān)燈問(wèn)題有點(diǎn)類(lèi)似,書(shū)上有現(xiàn)成的解決方案;具體不記得了,翻下書(shū)就有了,LZ可以參考一下?
我是菜鳥(niǎo),評(píng)論……可以忽略……

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-21 11:25 by yayv
棧排序

從上到下檢查順序, 出現(xiàn)逆序, 就截取,然后順序出棧逆序入棧

如此反復(fù),順序正確之后,判斷最上面是不是最小的,決定最后反轉(zhuǎn)就是了么

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-21 20:21 by Fox
這個(gè)問(wèn)題,如果有哪位TX實(shí)現(xiàn)了,給個(gè)鏈接我去學(xué)習(xí)一下,如果只是簡(jiǎn)單給出分析的話(huà),就未必經(jīng)得住推敲了……

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-22 11:11 by kayak
還沒(méi)有認(rèn)真考慮, 不過(guò)覺(jué)得用程序?qū)崿F(xiàn)和人工翻轉(zhuǎn)烙餅其實(shí)有一點(diǎn)是很不一樣的.
就是人判斷最大那個(gè)烙餅的時(shí)間復(fù)雜度是O(1), 用眼睛掃一下就可以了, 這點(diǎn)計(jì)算機(jī)做不到.
所以, 人工翻轉(zhuǎn)烙餅的時(shí)候, 至少可以采用下面這個(gè)算法(可能不是最優(yōu), 但肯定有效):
1) 找出從上到下的N個(gè)烙餅中最大的烙餅.
2) 判斷其是否在最下面, 如果是,到4; 否則到3.
3) 將最大烙餅及其上面的所有烙餅翻轉(zhuǎn).
4) 忽略此烙餅(N-1 -> N)
5) 如果N=0, 到6; 否則到1.
6) 結(jié)束.

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-22 12:26 by kayak
3寫(xiě)錯(cuò)了, 應(yīng)該在后面加個(gè)3.1.
3.1) 將從上往下N個(gè)烙餅翻轉(zhuǎn).

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-22 12:38 by Fox
你這個(gè)在我文中給出來(lái)了,基于冒泡排序的思想。
次數(shù)不能達(dá)到最少。

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-23 12:16 by kayak
我相信不存在一種排序方式, 可以對(duì)于任何數(shù)據(jù)都比其他所有的算法更優(yōu).

我想確定一下, 你的目的是
1) 找到一種翻轉(zhuǎn)算法, 它比任何其他算法"次數(shù)"更少的翻轉(zhuǎn)算法, 或者在大多數(shù)情況下次數(shù)更少.
2) 對(duì)任何一種烙餅分布情況, 找到對(duì)于特定于該情型的特定的翻轉(zhuǎn)方式.

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-23 17:56 by Fox
我的本意是找一種最優(yōu)算法,可惜數(shù)學(xué)基礎(chǔ)太差,對(duì)各種算法及其復(fù)雜性的計(jì)算力不從心……

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-25 13:14 by Bugs
很有趣!

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-04-29 22:41 by HYin
昨天剛買(mǎi)了這本書(shū),學(xué)習(xí)中呀!

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2008-07-03 21:26 by 我也是想到了漢諾塔啊~~
我也是想到了漢諾塔啊~~

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2011-07-27 12:03 by pzmj
這么簡(jiǎn)單的問(wèn)題,寫(xiě)了這么多廢話(huà),也算是人才了。。。

# re: 編程之美:一摞烙餅的排序(未完成)  回復(fù)  更多評(píng)論   

2014-08-30 16:07 by you
U can U up , no can no BB@pzmj
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美a级片网| 国产精品亚洲一区| 国产麻豆9l精品三级站| 一区二区三区在线观看欧美 | 国产一区二区三区观看| 亚洲国产导航| 亚洲自拍电影| 久久久免费精品| 亚洲视频导航| 99视频日韩| 9色国产精品| 久久久久久久网| 日韩写真视频在线观看| 久久久国产午夜精品| 欧美日韩亚洲精品内裤| 伊人久久久大香线蕉综合直播| 一区二区三区精品久久久| 久久精品国产69国产精品亚洲| 亚洲激情国产| 欧美一区二区三区的| 欧美国产另类| 国内精品福利| 亚洲综合国产| 欧美激情影院| 久久精品99国产精品日本| 国产精品国产三级国产 | 久久精品一区蜜桃臀影院| 亚洲品质自拍| 久久躁狠狠躁夜夜爽| 国产精品午夜国产小视频| 亚洲精品日韩激情在线电影 | 久久香蕉国产线看观看网| 国产精品久久97| 日韩一级视频免费观看在线| 性做久久久久久| 国产主播精品在线| 欧美成人日韩| 亚洲精选一区二区| 亚洲一区国产视频| 亚洲国产成人高清精品| 久久不见久久见免费视频1| 国产精品久久久久久久久久免费| 亚洲人成欧美中文字幕| 美女国内精品自产拍在线播放| 亚洲免费网址| 国产精品精品视频| 宅男噜噜噜66一区二区| 亚洲第一色中文字幕| 久久人人九九| 在线精品视频免费观看| 久久久久久久综合狠狠综合| 亚洲一区二区日本| 国产精品久久久久7777婷婷| 一区二区三区视频在线观看| 亚洲人成啪啪网站| 欧美激情在线免费观看| 亚洲美女区一区| 91久久久久久久久久久久久| 免费成人黄色av| 最近看过的日韩成人| 亚洲电影免费观看高清完整版在线 | 亚洲国产aⅴ天堂久久| 亚洲精品久久久蜜桃| 欧美国产日韩在线| 亚洲精品国精品久久99热一| 亚洲国产成人精品久久| 欧美国产亚洲另类动漫| 99精品欧美| 一区二区三区导航| 国产精品久久久久91| 午夜精品网站| 午夜精品网站| 狠狠色伊人亚洲综合网站色| 美女视频一区免费观看| 另类av导航| 99视频超级精品| 一本久久综合亚洲鲁鲁| 国产精品一区视频| 久久漫画官网| 免费成人av| 中文国产亚洲喷潮| 亚洲一区二区三区在线播放| 国产亚洲欧洲| 欧美成人情趣视频| 欧美精品日日鲁夜夜添| 亚洲在线免费观看| 香蕉久久夜色| 亚洲福利视频在线| 亚洲剧情一区二区| 国产精品国产三级国产普通话99| 欧美中文字幕在线观看| 久久综合影视| 亚洲视频免费在线| 欧美亚洲视频一区二区| 亚洲国产va精品久久久不卡综合| 亚洲精品一区二区三区在线观看 | 欧美日韩视频在线一区二区观看视频 | 久久蜜桃香蕉精品一区二区三区| 亚洲欧洲视频在线| 中国成人黄色视屏| 狠狠久久亚洲欧美专区| 亚洲日本国产| 国产欧美一区二区精品婷婷| 欧美成人69av| 欧美特黄一区| 免费日韩成人| 国产精品xnxxcom| 噜噜噜噜噜久久久久久91 | 亚洲综合成人在线| 久久久久看片| 亚洲一区综合| 久久久夜精品| 亚洲免费中文| 麻豆久久久9性大片| 午夜欧美精品久久久久久久| 久热re这里精品视频在线6| 亚洲一区视频| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美日韩人成在线播放| 久热精品视频在线观看| 亚洲男人的天堂在线| 噜噜噜在线观看免费视频日韩| 亚洲欧美日韩一区在线观看| 免费的成人av| 久久久国产91| 欧美视频在线不卡| 欧美国产丝袜视频| 国产一区二区无遮挡| 日韩网站免费观看| 亚洲风情在线资源站| 亚洲男人第一网站| 一本大道久久a久久精二百| 久久九九全国免费精品观看| 亚洲欧美日韩网| 欧美喷水视频| 欧美黑人在线播放| 国产一区二区三区四区| 一区二区三区不卡视频在线观看| 91久久久久久国产精品| 午夜电影亚洲| 亚洲综合欧美日韩| 欧美精品福利| 欧美成人国产一区二区| 国产亚洲精品一区二区| 亚洲手机成人高清视频| 日韩亚洲视频在线| 美女网站久久| 卡通动漫国产精品| 国产日产欧产精品推荐色 | 亚洲在线日韩| 一区二区三区精品久久久| 美女脱光内衣内裤视频久久网站| 久久久噜噜噜| 国产伦一区二区三区色一情| 日韩网站在线看片你懂的| 亚洲人成久久| 欧美www在线| 美女久久一区| 精品av久久久久电影| 欧美在线播放一区| 欧美在线视频在线播放完整版免费观看| 欧美日韩一区二区在线观看| 亚洲激情专区| 日韩视频二区| 欧美精品成人一区二区在线观看| 亚洲大片在线| 91久久中文| 欧美激情精品久久久久| 亚洲福利在线观看| 亚洲国产一区在线观看| 卡一卡二国产精品| 欧美高清视频一区| 亚洲国产天堂久久国产91| 久久一区激情| 欧美国产一区二区在线观看 | 亚洲东热激情| 亚洲人成亚洲人成在线观看图片| 免费成人av| 亚洲日本国产| 中日韩男男gay无套| 欧美性猛交一区二区三区精品| 一区二区精品在线| 午夜精品久久久久久久| 国产日韩欧美一区| 久久国产精品72免费观看| 久久综合九色综合久99| 在线日韩成人| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲成在线观看| 一区二区三区免费看| 欧美无乱码久久久免费午夜一区| 一区二区免费在线观看| 亚洲欧洲99久久| 国产自产女人91一区在线观看| 久久久国产精品亚洲一区 | 国产精品99久久久久久久vr| 国产精品国产成人国产三级| 亚洲在线电影| 久久精品国产久精国产思思| 国产一区久久|