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

利用select函數可以完成非阻塞通信,它可以在用戶指定的時間內監聽一些句柄(文件描述符?)(一個句柄就是你給一個文件,設備,套接字(socket)或管道的一個名字, 以便幫助你記住你正處理的名字, 并隱藏某些緩存等的復雜性。),當readfds或writefds中映象的文件可讀或可寫或超時,本次select()就結束返回。程序員利用一組系統提供的宏在select()結束時便可判斷哪一文件可讀或可寫。

函數原型:

int select(int nfds, fd_set *readfds, fd_set *writefds,

fd_set *exceptfds, struct timeval *timeout);

ndfs:select監視的文件句柄數,視進程中打開的文件數而定,一般設為你要監視各文件

中的最大文件號加一。

readfds:select監視的可讀文件句柄集合。

writefds: select監視的可寫文件句柄集合。

exceptfds:select監視的異常文件句柄集合。

timeout:本次select()的超時結束時間。

函數返回值:

0表示超時

-1表示出錯

正數表示文件可讀或可寫


相關的宏:

FD_ZERO(fd_set *fdset):清空fdset與所有文件句柄的聯系。

FD_SET(int fd, fd_set *fdset):建立文件句柄fd與fdset的聯系。

FD_CLR(int fd, fd_set *fdset):清除文件句柄fd與fdset的聯系。

FD_ISSET(int fd, fd_set *fdset):檢查fdset聯系的文件句柄fd是否可讀寫,當>0表示可讀寫。


select只能監聽文件描述符(file descriptors),文件指針是不行的。通過int fileno(FILE* fp)函數可以完成文件指針到文件描述符的轉換。

#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<sys/time.h>
#include
<sys/types.h>
#include
<unistd.h>

int main(){
    
int fno = fileno(stdin);
// 得到sdtin的文件描述符
    fd_set fdR;
    
struct timeval timeout = {.tv_sec = 10, .tv_usec = 0};
    FD_ZERO(
&fdR);
    FD_SET(fno, 
&fdR);
    
char str[64];
    
int goOn = 1;
    
while(goOn){
        printf(
"goOning\n");
        
switch(select(fno + 1&fdR, NULL, NULL, &timeout)){
            
case -1:
                printf(
"select fail\n");
                goOn 
= 0;
                
break;
            
case 0:
                printf(
"select end\n");
                goOn 
= 0;
                
break;
            
default:
                scanf(
"%s", str);
                printf(
"str=%s\n", str);

        }
    }
}

代碼片段1:在指定時間內讀取stdin的數據。


代碼片段2:服務器在一定時間內接收子節點發來的數據報。


 

int socketfd = socket(AF_INET, SOCK_DGRAM, 0);
    …
    …
    fd_set fdR;
    
struct timeval timeout = {tv_sec:10, tv_usec:0};// 等待接收一定時間之后結束
    int goOn = 1;
    FD_ZERO(
&fdR);
    FD_SET(sockfd, 
&fdR);
    
while(goOn){
    
switch(select(sockfd + 1&fdR, NULL, NULL, &timeout)){
        
case -1:
            printf(
"select fail\n");
            goOn 
= 0;
            
break;
        
case 0:
            printf(
"select timeout\n");
            goOn 
= 0;
            
break;
        
default:
// 正常情況,讀取信息
            if((numbytes = recvfrom(sockfd, &cdt, sizeof(cdt), 0
                    (
struct sockaddr *)&their_addr, &addr_len)) == -1){
                printf(
"recvfrom fail\n");
            }
    }

參閱:
http://www.tuicool.com/articles/Rfeaie
posted @ 2014-03-26 16:25 小鼠標 閱讀(4004) | 評論 (0)編輯 收藏

    脫氧核糖核酸即常說的DNA,是一類帶有遺傳信息的生物大分子。它由4種主要的脫氧核苷酸(dAMP、dGMP、dCMT和dTMP)通過磷酸二酯鍵連接而成。這4種核苷酸可以分別記為:A、G、C、T。

    DNA攜帶的遺傳信息可以用形如:AGGTCGACTCCA.... 的串來表示。DNA在轉錄復制的過程中可能會發生隨機的偏差,這才最終造就了生物的多樣性。

    為了簡化問題,我們假設,DNA在復制的時候可能出現的偏差是(理論上,對每個堿基被復制時,都可能出現偏差):

  1. 漏掉某個脫氧核苷酸。例如把 AGGT 復制成為:AGT

    2. 錯碼,例如把 AGGT 復制成了:AGCT

    3. 重碼,例如把 AGGT 復制成了:AAGGT


    如果某DNA串a,最少要經過 n 次出錯,才能變為DNA串b,則稱這兩個DNA串的距離為 n。

    例如:AGGTCATATTCC 與 CGGTCATATTC 的距離為 2

    你的任務是:編寫程序,找到兩個DNA串的距離。


【輸入、輸出格式要求】

    用戶先輸入整數n(n<100),表示接下來有2n行數據。

    接下來輸入的2n行每2行表示一組要比對的DNA。(每行數據長度<10000)

    程序則輸出n行,表示這n組DNA的距離。

    例如:用戶輸入:
3
AGCTAAGGCCTT
AGCTAAGGCCT
AGCTAAGGCCTT
AGGCTAAGGCCTT
AGCTAAGGCCTT
AGCTTAAGGCTT

    則程序應輸出:
1
1
2

結題思路:參閱百度百科http://baike.baidu.com/view/2020247.htm
代碼如下:

import java.util.*;


public class Main {
    
    
    
static String instr0;
    
static String instr1;
    
public static void main(String[] args)
    
{
        Scanner sc 
= new Scanner(System.in);
        
int N = sc.nextInt();
        sc.nextLine();
        
for(int ii = 0; ii < N; ii++){
            instr0 
= sc.nextLine();
            instr1 
= sc.nextLine();
            
int rs = pro();
            System.out.println(rs);
        }

        
    }

    
static int pro(){
        
int[][] dis = new int[instr0.length()][instr1.length()];
        
for(int i = 0; i < instr0.length(); i++)
            dis[i][
0= i;
        
for(int j = 0; j < instr1.length(); j++)
            dis[
0][j] = j;
        
for(int i = 1; i < instr0.length(); i++){
            
for(int j = 1; j < instr1.length(); j++){
                
int cost = 0;
                
if(instr0.charAt(i) != instr1.charAt(j))
                    cost 
= 1;
                dis[i][j] 
= min3(dis[i - 1][j] + 1, dis[i][j - 1+ 1
                        dis[i 
- 1][j - 1+ cost);
            }

        }

        
return dis[instr0.length() - 1][instr1.length() - 1];
        
    }

    
static int min3(int a, int b, int c){
        
return Math.min(Math.min(a, b), c);
    }


    
}


 

posted @ 2013-07-09 19:26 小鼠標 閱讀(415) | 評論 (0)編輯 收藏

    在很多軟件中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟件中,輸入: “bj”就可以定位到“北京”。怎樣在自己的軟件中實現這個功能呢?問題的關鍵在于:對每個漢字必須能計算出它的拼音首字母。

    GB2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們可以利用這個特征,對常用漢字求拼音首字母。

    GB2312編碼方案對每個漢字采用兩個字節表示。第一個字節為區號,第二個字節為區中的偏移號。為了能與已有的ASCII編碼兼容(中西文混排),區號和偏移編號都從0xA1開始。

    我們只要找到拼音a,b,c,...x,y,z 每個字母所對應的GB2312編碼的第一個漢字,就可以定位所有一級漢字的拼音首字母了(不考慮多音字的情況)。下面這個表給出了前述信息。請你利用該表編寫程序,求出常用漢字的拼音首字母。


a 啊 B0A1
b 芭 B0C5
c 擦 B2C1
d 搭 B4EE
e 蛾 B6EA
f 發 B7A2
g 噶 B8C1
h 哈 B9FE
j 擊 BBF7
k 喀 BFA6
l 垃 C0AC
m 媽 C2E8
n 拿 C4C3
o 哦 C5B6
p 啪 C5BE
q 期 C6DA
r 然 C8BB
s 撒 C8F6
t 塌 CBFA
w 挖 CDDA
x 昔 CEF4
y 壓 D1B9
z 匝 D4D1


【輸入、輸出格式要求】

    用戶先輸入一個整數n (n<100),表示接下來將有n行文本。接著輸入n行中文串(每個串不超過50個漢字)。

    程序則輸出n行,每行內容為用戶輸入的對應行的漢字的拼音首字母。

    字母間不留空格,全部使用大寫字母。

    例如:
    用戶輸入:
3
大家愛科學
北京天安門廣場
軟件大賽

    則程序輸出:
DJAKX
BJTAMGC
RJDS

 


結題思路:
C語言中的一個漢字占兩個字節(兩個char),我們只需把這兩個字節對應的int型數字算出來,然后到編碼表里去比較即可。計算該數字時要用到移位,與,或等位運算操作。
代碼如下:
#include<stdio.h>
#include
<string.h>
int N;
char str[200];
void pro(){
    
    
for(int i = 0; i < strlen(str) - 1; )
    
{
        
char c0 = str[i++];
        
char c1 = str[i++];
        
int t = (int)c0 << 8;//得到高八位 
        
        t 
= t | (0x000000ff & (int)c1);//得到低八位 
        t &= 0x0000ffff;//去掉負號 
        
        
if(t >= 0xB0A1 && t < 0xB0C5){
            printf(
"A");    
        }

        
else if(t < 0xB2C1)
            printf(
"B");
        
else if(t < 0xB4EE)
            printf(
"C");
        
else if(t < 0xB6EA)
            printf(
"D");
        
else if(t < 0xB7A2)
            printf(
"E");
        
else if(t < 0xB8C1)
            printf(
"F");
        
else if(t < 0xB9FE)
            printf(
"G");
        
else if(t < 0xBBF7)
            printf(
"H");
        
else if(t < 0xBFA6)
            printf(
"J");
        
else if(t < 0xC0AC)
            printf(
"K");
        
else if(t < 0xC2E8)
            printf(
"L");
        
else if(t < 0xC4C3)
            printf(
"M");
        
else if(t < 0xC5B6)
            printf(
"N");
        
else if(t < 0xC5BE)
            printf(
"O");
        
else if(t < 0xC6DA)
            printf(
"P");
        
else if(t < 0xC8BB)
            printf(
"Q");
        
else if(t < 0xC8F6)
            printf(
"R");
        
else if(t < 0xCBFA)
            printf(
"S");
        
else if(t < 0xCDDA)
            printf(
"T");
        
else if(t < 0xCEF4)
            printf(
"W");
        
else if(t < 0xD1B9)
            printf(
"X");
        
else if(t < 0xD4D1)
            printf(
"Y");
        
else 
            printf(
"Z");
            
    }

    printf(
"\n");
        
}


int main()
{    
    scanf(
"%d"&N);
    getchar();
    
for(int i = 0; i < N; i++)
    
{
        gets(str);
        pro();
    }

    
    
//getchar();
}




posted @ 2013-07-09 11:04 小鼠標 閱讀(1240) | 評論 (0)編輯 收藏

    1949年的國慶節(10月1日)是星期六。

    今年(2012)的國慶節是星期一。

    那么,從建國到現在,有幾次國慶節正好是星期日呢?


不多說了,直接上代碼:
import java.util.*;


public class Main {
    
    
public static void main(String[] args)
    
{
        
int count = 0;
        
int weekd = 5;
        
for(int i = 1950; i < 2013; i++){
            
int y = 365;
            
if(isRN(i))
                y
++;
            weekd 
= (weekd + y) % 7;
            
if(weekd == 6){
                count
++;
                System.out.println(
"i=" + i);
            }

        }

        System.out.println(
"count=" +  count);
    }

    
static boolean isRN(int y){
        
if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
            
return true;
        
return false;
    }


    
}

posted @ 2013-07-09 09:22 小鼠標 閱讀(218) | 評論 (0)編輯 收藏
截取JDK文檔中的一部分,感覺這些東西我以后會用到。
字符類
[abc] abc(簡單類)
[^abc] 任何字符,除了 abc(否定)
[a-zA-Z] azAZ,兩頭的字母包括在內(范圍)
[a-d[m-p]] admp[a-dm-p](并集)
[a-z&&[def]] def(交集)
[a-z&&[^bc]] az,除了 bc[ad-z](減去)
[a-z&&[^m-p]] az,而非 mp[a-lq-z](減去)

Greedy 數量詞
X? X,一次或一次也沒有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n
X{n,} X,至少 n
X{n,m} X,至少 n 次,但是不超過 m

這些目前來說夠用啦。
posted @ 2013-07-09 09:00 小鼠標 閱讀(190) | 評論 (0)編輯 收藏


【編程題】(滿分21分)

    Excel是最常用的辦公軟件。每個單元格都有唯一的地址表示。比如:第12行第4列表示為:“D12”,第5行第255列表示為“IU5”。
   
    事實上,Excel提供了兩種地址表示方法,還有一種表示法叫做RC格式地址。 第12行第4列表示為:“R12C4”,第5行第255列表示為“R5C255”。

    你的任務是:編寫程序,實現從RC地址格式到常規地址格式的轉換。

【輸入、輸出格式要求】

    用戶先輸入一個整數n(n<100),表示接下來有n行輸入數據。

    接著輸入的n行數據是RC格式的Excel單元格地址表示法。

    程序則輸出n行數據,每行是轉換后的常規地址表示法。

    例如:用戶輸入:
2
R12C4
R5C255

    則程序應該輸出:
D12
IU5

結題思路:字符串處理,26進制轉換。特別注意26要被轉換成Z,因為A表示的是1而不是0。
代碼如下:
(代碼實現了兩種格式的互換問題)

import java.util.*;


public class Main {
    
    
    
static int N;
    
static String instr1;
    
public static void main(String[] args)
    
{
        Scanner sc 
= new Scanner(System.in);
        N 
= sc.nextInt();
        sc.nextLine();
        
for(int i = 0; i < N; i++){
            instr1 
= sc.nextLine();
            
if(isRC(instr1)){
                toAN();
            }

            
else{
                toRC();
            }

        }

        
    }

    
static void toRC(){
        
/*
         * D12-->R12C4
         
*/

        
int i = 0;
        
int numc = 0;
        
while(Character.isLetter(instr1.charAt(i))){
            numc 
*= 26;
            numc 
+= instr1.charAt(i) - 'A' + 1;
            i
++;
        }

        
int numr = Integer.parseInt(instr1.substring(i));
        System.out.println(
"R" + numr + "C" + numc);
    }

    
static void toAN(){
        
/*
         * R12C4-->D12
         
*/

        StringBuffer sbuf 
= new StringBuffer();
        String[] strs 
= instr1.split("[RC]");//正則式很有趣
        int numc = Integer.parseInt(strs[2]);
        
while(numc > 0){
            
char c = (char)((numc - 1% 26 + 'A');//num - 1,避免26被轉換為A
            sbuf.append(c);
            numc 
= (numc - 1/ 26;//num - 1,避免26被轉換為AZ
        }

        System.out.println(sbuf.reverse() 
+ strs[1]);
    }

    
    
static boolean isRC(String instr){
        
int count = 0;
        
boolean isnumbg = false;
        
for(int i = 0; i < instr.length(); ){
            
if(Character.isDigit(instr.charAt(i))){
                
if(isnumbg){
                    i
++;
                }

                
else{
                    isnumbg 
= true;
                    count
++;
                    i
++;
                }

            }

            
else{
                
if(isnumbg){
                    isnumbg 
= false;
                }

                i
++;
            }

        }

        
if(count == 2)
            
return true;
        
return false;
    }

        
}


 

posted @ 2013-07-07 20:27 小鼠標 閱讀(527) | 評論 (0)編輯 收藏


    某少年宮引進了一批機器人小車。可以接受預先輸入的指令,按指令行動。小車的基本動作很簡單,只有3種:左轉(記為L),右轉(記為R),向前走若干厘米(直接記數字)。

    例如,我們可以對小車輸入如下的指令:

    15L10R5LRR10R20

    則,小車先直行15厘米,左轉,再走10厘米,再右轉,...

    不難看出,對于此指令串,小車又回到了出發地。

    你的任務是:編寫程序,由用戶輸入指令,程序輸出每條指令執行后小車位置與指令執行前小車位置的直線距離。

【輸入、輸出格式要求】

    用戶先輸入一個整數n(n<100),表示接下來將有n條指令。

    接下來輸入n條指令。每條指令只由L、R和數字組成(數字是0~100之間的整數)

    每條指令的長度不超過256個字符。

    程序則輸出n行結果。

    每條結果表示小車執行相應的指令前后位置的直線距離。要求四舍五入到小數后2位。

    例如:用戶輸入:
5
L100R50R10
3LLL5RR4L12
LL
100R
5L5L5L5

    則程序輸出:
102.96
9.06
0.00
100.00
0.00

結題思路:
模擬機器人行走即可,用數字表示機器人的方向,向上為0,向右為1,下為2,左為3。設初始狀態機器人方向為0,則遇到R就將當前方向加1,遇到L將當前方向減1。x軸向右增大,y軸向上增大。
代碼如下:
import java.util.*;

public class Main {
    
static int x = 0;
    
static int y = 0;
    
static int nowdir = 0;
    
static int N;
    
static String instr;
    
public static void main(String[] args)
    
{
        Scanner sc 
= new Scanner(System.in);
        N 
= sc.nextInt();
        sc.nextLine();
        
for(int i = 0; i < N; i++){
            instr 
= sc.nextLine();
            x 
= 0;
            y 
= 0;
            nowdir 
= 0;
            pro();
            
double dis0 = Math.sqrt(x * x + y * y);
            System.out.printf(
"%.2f\n", dis0);
        }

    }

    
static void pro(){
        
boolean isnumbg = false;
        
int numbgp = 0;
        instr 
= instr + "#";
        
for(int i = 0; i < instr.length();){
            
if(Character.isDigit(instr.charAt(i))){
                
if(isnumbg){
                    i
++;
                    
continue;
                }

                
else{
                    numbgp 
= i++;
                    isnumbg 
= true;
                }

            }

            
else{
                
if(isnumbg){
                    isnumbg 
= false;
                    String str1 
= instr.substring(numbgp, i);
                    
int dis = Integer.parseInt(str1);
                    
if(nowdir == 0){
                        y 
+= dis;
                    }

                    
else if(nowdir == 2){
                        y 
-= dis; 
                    }

                    
else if(nowdir  == 1){
                        x 
+= dis;
                    }

                    
else
                        x 
-= dis;
                }

                
else{
                    
char c = instr.charAt(i);
                    
if(c == 'R'){
                        nowdir 
= (nowdir + 1% 4;
                    }

                    
else if(c == 'L'){
                        nowdir 
= (nowdir + 3% 4;
                    }

                    i
++;
                }

            }

        }

    }

}



posted @ 2013-07-07 17:16 小鼠標 閱讀(676) | 評論 (0)編輯 收藏

    看這個算式:
 
    ☆☆☆ + ☆☆☆ = ☆☆☆

    如果每個五角星代表 1 ~ 9 的不同的數字。

    這個算式有多少種可能的正確填寫方法?

    173 + 286 = 459
    295 + 173 = 468
    173 + 295 = 468
    183 + 492 = 675

    以上都是正確的填寫法!

    注意:
    111 + 222 = 333 是錯誤的填寫法!
    因為每個數字必須是不同的!
    也就是說:1~9中的所有數字,每個必須出現且僅出現一次!

結題思路:
排列1~9,寫出符合條件的結果。
代碼如下:


public class Main {
    
    
static int bs[] = {123456789};
    
static int count = 0;
    
public static void main(String[] args)
    
{
        count 
= 0;
        DFS(
0);
        System.out.println(
"count=" + count);
    }

    
static void DFS(int nowp){
        
if(nowp == bs.length){
            
int n1 = bs[0* 100 + bs[1* 10 + bs[2];
            
int n2 = bs[3* 100 + bs[4* 10 + bs[5];
            
int n3 = bs[6* 100 + bs[7* 10 + bs[8];
            
if(n1 + n2 == n3){
                System.out.println(n1 
+ " + " + n2 + " = " + n3);
                count
++;
            }

        }

        
else{
            
for(int i = nowp; i < bs.length; i++){
                swap(nowp, i);
                DFS(nowp 
+ 1);
                swap(nowp, i);
            }

        }

    }

    
static void swap(int a, int b){
        
int t = bs[a];
        bs[a] 
= bs[b];
        bs[b] 
= t;
    }

}



 

posted @ 2013-07-07 16:08 小鼠標 閱讀(300) | 評論 (0)編輯 收藏

求第100002個素數。(2是第一個素數)

 

結題思路:素數篩法

代碼如下:

import java.util.Arrays;


public class Copy_2_of_Main {
    
    
static int N = 10000000;
    
static int count;
    
static int rs[] = new int[N];
    
static boolean tg[] = new boolean[N];//is prime
    
    
public static void main(String[] args) {
        
        Arrays.fill(tg, 
true);
        
int ed = (int)Math.sqrt(N) + 1;
        
for(int i = 2; i <= ed; i++){//素數篩法
            if(tg[i]){
                
for(int j = i * 2; j < N; j += i){// j += i
                    tg[j] = false;
                }

            }

        }

        count 
= 0;
        
for(int i = 2; i < N; i++){
            
if(tg[i] == true){
                rs[count
++= i;
            }

        }

        System.out.println(
"count=" + count);
        System.out.println(
"result=" + rs[100001]);
//        for(int i = 0; i < count; i++)
//            System.out.println(rs[i]);
    }

        
}


posted @ 2013-07-06 19:38 小鼠標 閱讀(189) | 評論 (0)編輯 收藏
     摘要: 題目描述如下: ABCDE五人安排工作日程,每人每星期工作5天休息2天 1)        必須有3天所有人都要上班 2)        每個人連續上班不超過3天,周日到周一是連續工作 3)     &...  閱讀全文
posted @ 2013-07-06 15:43 小鼠標 閱讀(250) | 評論 (0)編輯 收藏
僅列出標題  下一頁
<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

隨筆分類(111)

隨筆檔案(127)

friends

最新評論

  • 1.?re: 線段樹
  • 是這個樣子的,所以在OJ有時候“卡住”了也不要太灰心,沒準真的不是自己的原因呢。
    加油,祝你好運啦!
  • --小鼠標
  • 2.?re: 線段樹
  • 對于編程競賽來說,Java所需時間一般為C/C++的兩倍。合理的競賽給Java的時間限制是給C/C++的兩倍。
  • --傷心的筆
  • 3.?re: poj1273--網絡流
  • 過來看看你。
  • --achiberx
  • 4.?re: (轉)ubuntu11.10無法啟動無線網絡的解決方法
  • 膜拜大神。。查了一個下午資料終于在這里解決了問題。。神牛說的區域賽難道是ACM區域賽。。?
  • --Hang
  • 5.?re: 快速排序、線性時間選擇
  • 博主,謝謝你的文章。你的方法可以很好的處理分區基準在數組中重復的情況,書上的方法遇到這種輸入會堆棧溢出。書上給出了解釋但給的方法貌似不簡潔。
  • --lsxqw2004

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久xxxx| 国产真实久久| 在线播放视频一区| 91久久线看在观草草青青| 久久人人97超碰国产公开结果| 亚洲电影免费在线| 中文一区在线| 国产一区二区三区成人欧美日韩在线观看| 久久九九国产| 欧美激情a∨在线视频播放| 亚洲欧美日韩国产成人精品影院| 久久久久九九视频| 亚洲午夜在线| 免费久久久一本精品久久区| 午夜精品一区二区三区电影天堂| 久久综合色天天久久综合图片| 亚洲一区美女视频在线观看免费| 久久久久久999| 亚洲专区在线视频| 欧美freesex8一10精品| 久久久久久久欧美精品| 欧美视频二区| 亚洲国产精品专区久久| 国内精品久久久久影院薰衣草| 亚洲精品一区二区三区婷婷月| 国模套图日韩精品一区二区| 亚洲午夜激情在线| 在线中文字幕一区| 牛人盗摄一区二区三区视频| 久久久蜜桃一区二区人| 国产欧美精品日韩精品| 日韩一区二区精品| 极品尤物av久久免费看| 亚洲黄色精品| 在线播放不卡| 久久久国产视频91| 久久精品水蜜桃av综合天堂| 国产精品美女久久久| 亚洲免费大片| 妖精视频成人观看www| 免费亚洲婷婷| 一区二区三区在线免费视频| 亚洲在线视频免费观看| 亚洲校园激情| 欧美私人啪啪vps| 99国内精品久久| 亚洲视频香蕉人妖| 欧美日韩精品一本二本三本| 亚洲国产精品尤物yw在线观看 | 午夜天堂精品久久久久| 欧美日韩一区二区高清| 亚洲日本视频| 一个人看的www久久| 欧美日韩美女在线| 一本综合精品| 亚洲欧美一区二区原创| 国产乱码精品一区二区三区av| 亚洲一区二区在线| 午夜精品美女自拍福到在线 | 一区二区三区日韩欧美精品| 一本久久综合亚洲鲁鲁五月天| 欧美激情精品久久久久| 亚洲人成在线观看网站高清| 日韩系列在线| 欧美偷拍另类| 亚洲欧美国产高清| 久久久久免费| 亚洲高清久久久| 欧美精品日韩www.p站| 中文日韩电影网站| 久久久久久久高潮| 亚洲精华国产欧美| 欧美性大战久久久久| 亚洲欧美日韩精品| 欧美成年人网站| 一本色道婷婷久久欧美| 国产精品久久久久久久久久直播| 午夜老司机精品| 欧美成人国产va精品日本一级| 日韩视频在线免费| 国产乱理伦片在线观看夜一区| 久久精品国产一区二区电影| 亚洲黄网站黄| 欧美在线视频一区| 老妇喷水一区二区三区| 亚洲精品一区在线| 久久九九国产| 一区二区电影免费观看| 国产亚洲综合精品| 欧美va天堂va视频va在线| 亚洲图片欧洲图片日韩av| 久久综合五月| 亚洲欧美国产77777| 亚洲大片av| 国产精品视频99| 欧美高清不卡在线| 久久久成人精品| 亚洲性图久久| 亚洲韩国精品一区| 久久久一区二区| 国产精品成人一区二区| 久久九九久久九九| 夜夜嗨av一区二区三区网站四季av | 久久精品中文字幕免费mv| 亚洲美女91| 黄色精品一区二区| 国产精品久久久久久久久久免费看| 免费一级欧美片在线播放| 欧美在线视频观看| 一本久久a久久精品亚洲| 男女av一区三区二区色多| 欧美一区二区久久久| 99成人免费视频| 亚洲国产另类久久精品| 国产一区二区三区日韩欧美| 国产精品成人一区二区三区夜夜夜| 嫩草影视亚洲| 理论片一区二区在线| 性欧美xxxx大乳国产app| 洋洋av久久久久久久一区| 亚洲日本黄色| 亚洲国产精品成人综合色在线婷婷| 久久精品国产成人| 先锋影音久久| 亚洲一区成人| 日韩视频免费| 亚洲精品日韩综合观看成人91| 一区视频在线看| 一色屋精品亚洲香蕉网站| 国产原创一区二区| 国语自产精品视频在线看| 国产日产欧美一区| 国产精品综合久久久| 国产精品日韩久久久| 国产精品久久婷婷六月丁香| 欧美视频在线一区| 欧美日韩国产综合一区二区| 欧美日韩mp4| 欧美视频一区二区| 国产精品久久久久久久久久尿| 国产精品美女黄网| 国产日韩欧美综合一区| 国产日韩1区| 狠狠色丁香婷婷综合影院| 黄色成人在线| 亚洲日本免费| 一区二区欧美日韩| 中日韩在线视频| 亚洲欧美日韩一区| 久久激情五月婷婷| 久久午夜视频| 欧美成人激情视频| 亚洲精品综合精品自拍| 日韩视频免费在线| 亚洲欧美日本视频在线观看| 香蕉av福利精品导航| 久久精品免费观看| 女女同性女同一区二区三区91| 欧美激情综合在线| 国产精品久久久久久一区二区三区| 国产欧美日韩一区二区三区在线 | 亚洲欧美一区二区在线观看| 欧美在线免费播放| 欧美aa在线视频| 欧美日韩在线视频一区二区| 国产精品一区视频| 黄色另类av| 夜夜嗨av一区二区三区四区| 亚洲欧美另类国产| 久久影院亚洲| 日韩视频中文| 欧美一区亚洲| 欧美成人精品不卡视频在线观看 | 亚洲麻豆av| 欧美呦呦网站| 欧美精品成人91久久久久久久| 国产精品国产自产拍高清av王其 | 欧美在线二区| 欧美成人精品在线视频| 亚洲狼人精品一区二区三区| 亚洲欧美电影在线观看| 欧美ab在线视频| 国产日本欧洲亚洲| 日韩视频在线免费| 久久五月激情| 中文日韩电影网站| 欧美777四色影视在线| 国产九区一区在线| 亚洲美女视频| 久久夜色撩人精品| 一区二区三区欧美在线观看| 久久精品国产一区二区三区免费看 | 日韩视频国产视频| 久久久精品一品道一区| 亚洲精品视频一区| 久久久夜夜夜| 国产精品一卡二卡| 夜夜嗨av一区二区三区四区| 免费成人黄色av| 亚洲欧美日韩天堂一区二区|