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

posts - 99,  comments - 8,  trackbacks - 0
 
//分析解決方案很明顯的一個用并查積解決的問題:如果只用一個根肯定滿足要求,遍歷數(shù)組即可
//如果某兩個要合并的節(jié)點同根肯定會構(gòu)成回路,不滿足要求

這里用sign 標(biāo)記是否出現(xiàn)了同根,分兩種情況處理即可,也WA 了幾次,因為復(fù)制粘貼把那個求minn 和 maxn 弄錯了
 還有就是沒處理一組輸入的時候一定要避免上一組輸入的影響,那就是初始化
其他的就是套用并查積的模板就可以了
#include <iostream>
#include 
<string>
using namespace std;

struct node 
{
   
int parent;
   
int weight;
}
;
node maze[
100001];
int visit[100001];  //是集合中的元素都被標(biāo)記

int findfather ( int i )
{
    
while ( i != maze[i].parent )
          i 
= maze[i].parent;
          
return i;
}


void merge ( int a, int b )
{
     
if ( maze[a].weight == maze[b].weight )
     
{
          maze[b].parent 
= a;
          maze[a].weight 
= b;
     }

     
     
else if ( maze[a].weight > maze[b].weight )
          maze[b].parent 
= a;
     
else
         maze[a].parent 
= b;    
}
 

int main ()
{
    
int a, b, a1, b1, sign;   
    
while ( scanf ("%d %d"&a, &b) != EOF )
    
{
          memset (visit , 
0sizeof (visit));
          
int maxn = 0;               
          
int minn = 1000000;
    
          
//并查積算法的初始化
          for ( int i = 1; i < 100001; i ++ )
          
{
           maze[i].parent 
= i;
           maze[i].weight 
= 1;
          }
 
          
          
if ( a == -1 && b == -1 )
          
break;
          
if ( a == 0 && b == 0 )
          
{  
               printf (
"Yes\n");
               
continue;
          }

                 
          sign 
= 0;     
          
do {               
              
if ( a < minn )     minn = a;           //找到輸入 的所有數(shù)據(jù)中最小的和最大的便于減小最后數(shù)組遍歷時的復(fù)雜度 
              if ( b < minn )     minn = b;
              
if ( a > maxn )     maxn = a;
              
if ( b > maxn )     maxn = b;
              visit[a] 
= visit[b] = 1;
          
              a1 
= findfather (a);
              b1 
= findfather (b);
              
              
if ( a1 == b1 )   //節(jié)點同根 
              {
                   sign 
= -1;
              }
              
              
else
                  merge (a1, b1);
              
              scanf (
"%d %d"&a, &b);
              
              
if ( a== 0 && b == 0)
              
break;                    
          }
while (1);
          
          
if ( sign == -1 ) 
          
{
               printf (
"No");
          }
 
                    
          
//遍歷并查積看有幾個根節(jié)點 
          if ( sign == 0 )
          
{
               
for (int i = minn; i <= maxn; i ++)
               
{
                   
if ( visit[i] && maze[i].parent == i )
                   sign 
++;
               }

          
               
if (sign == 1)
               printf (
"Yes\n");
               
else
               printf (
"No\n");  
          }
                  
    }

     
//system ("pause");
     return 0;
}

posted @ 2010-08-26 10:41 雪黛依夢 閱讀(843) | 評論 (1)編輯 收藏

這可是第一個并查積的題目哦!
先從問題的簡單做法入手,構(gòu)造出原始模型。

如果原始模型是對于集合之間合并處理問題,那么就可以使用并查集使得程序變得高效。

并查集的路徑壓縮只有在元素之間的特性存在遞推關(guān)系時才可以使用。

關(guān)鍵是要理解那兩個調(diào)用的函數(shù),以及用樹結(jié)構(gòu)處理時要注意的問題:
1.合并的時候要注意是將高度較小的樹合并到高度較大的樹,所以小樹的parent指向大樹根節(jié)點
2.一定要理解一點就是合并兩個節(jié)點實際上是合并他們的根節(jié)點,所以一定要找到節(jié)點,找到時候理解好也就是為什么findfather中為什么要用while的原因了

//此題運(yùn)用并查積:就是將所有的村莊放到一個集合中
#include <iostream>
#include <string>
using namespace std;

struct node
{
   int parent;
   int height;
};

node village[1000];

//找根節(jié)點 
int findfather (int a)
{
       while ( a != village[a].parent )     //理解while 樹狀結(jié)構(gòu):找到最終的跟節(jié)點
             a = village[a].parent;
             return a;              
}

//合并到同一集合
void merge (int a, int b)      //注意參數(shù):要合并兩個節(jié)點的根 
{
     if ( village[a].height == village[b].height )
     {
          village[b].parent = a;
          village[a].height ++;
     }
     
     //小樹合并到大樹 
     else if ( village[a].height > village[b].height ) 
     {
          village[b].parent = a;
     } 
     else
     village[a].parent = b;


int main ()
{
    int n, m;
    while ( scanf ("%d", &n) != EOF && n)
    {
          for (int i = 1; i <= n; i ++)        //根據(jù)并查積的算法,先將數(shù)組初始化,設(shè)定本身為一個獨立的集合,并且高度都是 1 
          {
              village[i].parent = i;
              village[i].height = 1; 
          }
          
          scanf ("%d", &m);
          int a, b;
          int a1, b1;
          for (int i = 0; i < m; i ++)
          {
              scanf ("%d %d", &a, &b);     //找出要并入集合的元素的根,如果根節(jié)點相同則不并入同一個集合,反之,則并入到同一個集合
              
              a1 = findfather (a);
              b1 = findfather (b);
              
              if ( a1 != b1 )           //當(dāng)根節(jié)點不同時合并跟節(jié)點 
              merge (a1, b1); 
          }
          
          //最后遍歷并查積數(shù)組看看一共有幾個不同的集合
          int sum = -1;
          for (int i = 1; i <= n; i ++)
          {
              if ( i == village[i].parent )
               sum ++;
          } 
          printf ("%d\n", sum);
    }

     //system ("pause");
     return 0;
}


 

posted @ 2010-08-25 22:48 雪黛依夢 閱讀(312) | 評論 (0)編輯 收藏

/*求解過程如下:首先對每個區(qū)間,以其起始坐標(biāo)為關(guān)鍵字,從小到大排序。再依次找每查詢一次能覆蓋

到的最大的區(qū)間,假設(shè)還沒有看過的書頁為(sta , end),每次可以查詢的小段區(qū)間用(xi , yi) 表示,

那么對于沒有找過的每段區(qū)間,我們都是找 xi<=sta,并且yi > sta的區(qū)間中yi最大的區(qū)間,直到y(tǒng)i = end為止。

最后統(tǒng)計區(qū)間的個數(shù),即為最少的查詢次數(shù)。*/

 1#include <iostream>
 2#include <algorithm> 
 3using namespace std;
 4#include <string.h>
 5
 6struct book
 7{
 8       int ai;
 9       int bi;
10}
page[5001];
11
12bool cmp (const book &a, const book &b)
13{
14        return a.ai < b.ai;
15}
  
16int main ()
17{
18    int t, n;
19    while ( scanf ("%d"&t) != EOF )
20    {
21          for ( int i = 0; i < t; i ++ )  //t 組測試數(shù)據(jù) 
22          {
23              
24              memset (page, 0, sizeof (page));
25              scanf ("%d", &n);
26              for ( int i = 0; i < n; i ++ )    //總共有 n 頁書 
27              {
28                  scanf ("%d %d", &page[i].ai, &page[i].bi);
29              }
30              
31              sort (page, page + n, cmp);   //進(jìn)行排序
32            
33             
34              //找到最多發(fā)送請求的次數(shù): 思路 :找到第一個end 值之后,通過設(shè)定滿足題意的條件 while (i < n && page[i].ai <= sta) 
35              //找到新的end 值并且賦值為 j 通過比較 j 和上一次的 end 看看是否得到了新的頁數(shù)信息,出口時end == n  
36              int count = 1; 
37              int sta = page[0].ai;
38              int end = page[0].bi;
39              int j, i = 1;
40              
41              while ( i < n && page[i].ai == sta )
42              {
43                    if (end < page[i].bi)
44                       end = page[i].bi;
45                       i ++;           
46              }
47              
48              while ( end != n )
49              {
50                    sta = end + 1;
51                    j = page[i].bi;     
52                    i ++;
53                    while (i < n && page[i].ai <= sta)    //
54                    {                          
55                          if ( page[i].bi > j)
56                          {
57                            j = page[i].bi;        //以最小的覆蓋找到最大的區(qū)間長度 ,即 j 保存當(dāng)前這一組sta 的end 
58                          }
59                           i ++;
60                    }                     
61                    if ( j > end )
62                    {
63                         count ++;
64                         end = j;
65                    }                     
66              }               
67              printf ("%d\n", count);
                            
68      }
69}

70   // system ("pause");
71    return 0;
72}

73
posted @ 2010-08-25 12:14 雪黛依夢 閱讀(2320) | 評論 (0)編輯 收藏

這個題目如果直接在sort中比較 Ji / Fi  會出現(xiàn)RUNTIME ERROR  因為 分母不能為 0 ,這里在輸入時直接將它算出來用weight 表示
貪心策略:weight最大的

 1#include <iostream>
 2using namespace std;
 3
 4struct food
 5{
 6    int ji; 
 7    int fi;  
 8    double weight; 
 9}
a[1001];
10
11/*int cmp (const void *a, const void *b)
12{
13    return  (*((food *)a)).weight < (*((food *)b)).weight;
14}*/

15
16bool cmp1 (const food &a, const food &b)
17{
18     return a.weight > b.weight;
19}

20
21int main ()
22{
23    int m, n;
24    while ( scanf ("%d %d"&m, &n) != EOF && (m != -1 && n != -1))
25    {
26          double sum = 0
27          //輸入處理 
28          for (int i = 0; i < n; i ++)
29          {
30              scanf ("%d %d"&a[i].ji, &a[i].fi);
31              a[i].weight = (1.0 * a[i].ji) / a[i].fi;
32          }

33          
34          printf ("\n");
35          //按每個房間 1 的 貓食能夠得到最大數(shù)量的Javabeans排序 
36          //qsort (a, n, sizeof(a[0]), cmp);
37          sort (a, a + n, cmp1);
38          
39          for (int i = 0; i < n; i ++)
40          {
41              printf ("%d %d\n", a[i].ji, a[i].fi);
42          }

43          
44          //求的最大量的食物
45          for (int i = 0; i < n; i ++)
46          {
47              if ( m >= a[i].fi)
48              {
49                   m -= a[i].fi;
50                   sum += a[i].ji;
51              }

52              else if ( m < a[i].fi )
53              {
54                   sum += ( m * (1.0 * a[i].ji / a[i].fi ) );  //貓食不夠了 
55                   break;
56              }

57          }
 
58          
59          printf ("%.3f\n", sum); 
60    }

61   // system ("pause");
62    return 0;
63}

64
posted @ 2010-08-24 18:41 雪黛依夢 閱讀(719) | 評論 (0)編輯 收藏
開始時這道題目想了挺久的,也走了一點彎路,其實主要是C 語言的二維字符數(shù)組沒理解好,都是一些基礎(chǔ)知識沒有掌握,注意打紅色的部分就好了
 1#include <stdio.h>
 2#include <stdlib.h>
 3#include <string.h>
 4char code[1001][17];
 5int num[1001];
 6int main ()
 7{
 8  int n;
 9  while (scanf ("%d"&n) != EOF && n != 0)
10  {
11   getchar ();
12   memset (code, 0sizeof (code));
13   memset (num, 0 , sizeof (num));
14  
15   for (int i = 0; i < n; i ++)    //輸入處理 
16   
17    int j = 0;    
18    while ( (code[i][j] = getchar ()) !=  '\n' )     i 代表這是第幾個串
19    j ++;
20   }

21  
22  
23   for (int m = 0; m < n; m  ++)     //匹配
24   {
25    for (int k = m + 1; k < n; k ++)
26    {
27     if ( !strcmp (code[m], code[k]) )  //相等返回 0  
28      num[m]++;
29    } 
30   }

31   
32   int max = -1;   int index = 0;
33   for ( int k = 0; k < n; k ++)  //找到出現(xiàn)次數(shù)最多的下標(biāo) 
34   
35       if (max < num[k])
36       {
37         max = num[k];
38         index = k;
39       }
           
40   }

41   printf ("%s"code[index]);
42 }

43 //system ("pause"); 
44 return 0;
45}

46
posted @ 2010-08-24 16:46 雪黛依夢 閱讀(547) | 評論 (0)編輯 收藏
//本來以為是一道簡單題誰知道。。。。
//用遞歸寫想都不要想,絕對超時,所以還應(yīng)當(dāng)回到題目本身的分析上來
//正確思路是:因為mod7的關(guān)系,而且f(1)=f(2)=1,所以f(n)的值是循環(huán)分布的,而且一定會回到f(n-1)=f(n)=1,
//并且還可得出,這個循環(huán)不大于49,因為相鄰連個f只有7種取值,這樣f(n-1)和f(n)共有49種組合。
//所以,只要找出循環(huán)因子即可,尋找方法正是根據(jù)f(n-1)=f(n)再次出現(xiàn)的地方來計算
//可以首先為這個題目寫一個測試的程序設(shè)定一個 a   b   n(n 比較小時)  的值   看看輸出規(guī)律
 1#include <stdio.h>
 2#include <stdlib.h>
 3int f[51];
 4int main ()
 5{
 6    int a, b, n; 
 7    while ( scanf ("%d %d %d"&a , &b, &n) != EOF && a != 0 && b != 0 && n != 0 )
 8    {
 9          f[1= f[2= 1;
10          int i;
11          for (i = 3; i < 51; i ++)
12          {
13              f[i] = (a * f[i - 1+ b * f[i - 2]) % 7;
14              if ( f[i] == 1 &&  f[i - 1== 1 )   //找到循環(huán)因子 i  
15              {
16                   break;
17              }

18          }

19          
20          n = n % (i - 2);
21          if (n == 0)   //剛好經(jīng)過一個循環(huán) 
22          printf ("%d\n", f[i - 2]);   //開始時,我是因為看了測試程序,把這里設(shè)定為輸出 0 這種想法是錯的,太片面了,因為數(shù)據(jù)范圍很大  
23          else         
24          printf ("%d\n", f[n]);
25    }

26    //system ("pause");
27    return 0;
28}
 
29
30
posted @ 2010-08-24 14:01 雪黛依夢 閱讀(1491) | 評論 (1)編輯 收藏

AC
 1#include <stdio.h>
 2int main ()
 3{
 4    int m, k; 
 5    while ( scanf ("%d %d"&m, &k) != EOF && m != 0 && k != 0)
 6    {
 7        int days = 0;
 8        while ( m )
 9        {
10            m --;
11            days ++;
12            if (days % k == 0)
13                m ++;
14        }

15
16        printf ("%d\n", days);
17    }

18    return 0;
19}

20
posted @ 2010-08-24 12:31 雪黛依夢 閱讀(223) | 評論 (0)編輯 收藏
超時代碼:
#include <stdio.h>
#include 
<stdlib.h>
int a, b;

int com (int n)
{
    
if (n == 1 || n == 2)
    
return 1;
    
else
    
return ( a * com( n - 1 )+ b * com(n - 2) ) % 7;         
}


int main ()
{
    
    
int n;
    
while ( scanf ("%d %d %d"&a, &b, &n) != EOF && ( a != 0 && b != 0 && n != 0 ))
    
{
          
          printf ("%d\n", com(n));
   }

    system (
"pause");
    
return 0;
}

posted @ 2010-08-23 21:39 雪黛依夢 閱讀(92) | 評論 (0)編輯 收藏
這樣的水題也被我WA了幾次,慚愧啊!  就是就是沒有注意當(dāng)i  >  j 時輸出位置不變的問題
看來做題目一定要細(xì)心,小心陷阱
我的代碼:
 1#include <stdio.h>
 2#include <stdlib.h>
 3
 4int cylen (int a, int b)
 5{
 6    int max = 0;
 7    for (int i = a; i <= b; i ++)
 8    {
 9        int n = i;
10        int count = 1;
11        while ( n != 1)
12        {
13              count ++;
14              if ( n % 2 == 0)
15              n = n / 2;
16              else
17              n = 3 * n + 1;
18        }

19        
20        if (max < count)
21        max = count;
22    }

23        return max;
24}

25
26int main ()
27{
28    int i, j;
29    while ( scanf ("%d %d"&i, &j) != EOF )
30    
31          int index;
32          if (i > j)
33          {
34                index = i;
35                i = j;
36                j = index;
37                printf ("%d %d %d\n", j, i, cylen (i, j));    
38          }

39          else
40          printf ("%d %d %d\n", i, j, cylen (i, j));    
41    }

42     
43    //system ("pause");
44    return 0;
45}

46
網(wǎng)上的代碼:用遞歸做的,兩個代碼復(fù)雜度完全一樣
 1# include <stdio.h>
 2#include <stdlib.h>
 3int fun(long  a ,int len)
 4{
 5    if (a ==1)
 6        return len;
 7    else if (a %2 ==0)
 8        return fun(a/2,len+1);
 9    else  return fun(3*a+1,len +1);
10}

11int main()
12{
13    unsigned long  a,b;
14    unsigned long i,max,temp;
15
16    while (scanf("%ld%ld",&a,&b)!=EOF)
17    {
18        printf("%ld %ld ",a,b);
19        if(a>b) {i = a;a=b;b=i;}
20        for (max = 0,i = a; i <= b; i ++)
21        {
22            temp = fun(i,1);
23            if (max < temp)
24                max = temp;
25        }

26        printf("%ld\n",max);
27    }

28    //system ("pause");
29    return 0;
30}

31

posted @ 2010-08-23 19:42 雪黛依夢 閱讀(360) | 評論 (0)編輯 收藏
和 1102 完全一個類型的,只是調(diào)用幾個數(shù)學(xué)函數(shù)求距離
 1
 2#include <stdio.h>
 3#include <stdlib.h>
 4#include <string.h>
 5
 6int main ()
 7{
 8    int n, q, a, b;
 9    int lowcost[101];               //開始時儲存源點到其他各頂點的邊值,隨后根據(jù)加進(jìn)來的頂點,不斷改變所存的邊值 
10    int edge[101][101];             //存輸入的邊之間的長度 
11    int visit[101];                 //標(biāo)志頂點是否已經(jīng)加入 
12    
13    while ( scanf ("%d"&n)!= EOF )
14    {
15           memset (visit, 0sizeof (visit)); 
16           memset (lowcost, 0sizeof (lowcost));                                                                      
17           
18          //輸入處理 
19          for (int i = 1; i <= n; i ++)
20          {
21              for (int j = 1; j<= n; j ++)
22              {
23                  scanf ("%d"&edge[i][j]);
24              }

25          }

26          scanf ("%d"&q);
27          if ( q )
28          {
29               for (int i = 0; i < q; i ++)  //本身存在邊則該頂點被標(biāo)記 
30               {
31                   scanf ("%d %d"&a, &b);
32                   edge[a][b] = edge[b][a] = 0
33               }

34          }

35          
36          //prime:每次都從剩下的邊中選出最短的一條,標(biāo)記相關(guān)的頂點,并且修改相關(guān)邊的值 
37          //對lowcost 進(jìn)行初始化處理
38          for (int i = 1; i <= n; i ++ )
39          {
40              lowcost[i] = edge[1][i];
41          }
 
42          
43          int sum = 0;  
44          int k;        
45          for (int i = 1; i <= n; i ++)
46          {            
47              int max = 10000;
48
49              for ( int i = 1; i <= n; i ++ )
50              {
51                  if ( lowcost[i] < max && !visit[i] ) 
52                  {
53                     max = lowcost[i];
54                     k = i;
55                  }
                                                                             
56              }

57              
58              if (max == 10000)  //如果沒有找到最小的邊一下一個頂點作為起點  ,這就是和找最短路徑不同的地方                  
59              break;
60              
61              visit[k] = 1;
62              sum += lowcost[k];
63              
64              for (int i = 1; i <= n; i ++)
65              {
66                  if ( !visit[i] && lowcost[i] > edge[k][i])  //新引入的頂點到其他頂點的邊值  是否 小于  原來的邊值 
67                  {
68                       lowcost[i] = edge[k][i]; 
69                  }
 
70              }

71          }
          
72          printf ("%d\n", sum);
73    }

74   // system ("pause");
75    return 0;
76}
 
77
posted @ 2010-08-23 15:35 雪黛依夢 閱讀(451) | 評論 (0)編輯 收藏
僅列出標(biāo)題
共10頁: First 2 3 4 5 6 7 8 9 10 
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲免费在线观看| 欧美一区二区视频在线观看| 国产精品jizz在线观看美国| 中文亚洲欧美| 欧美亚洲免费在线| 国产综合久久久久影院| 久久久97精品| 亚洲婷婷综合久久一本伊一区| 欧美在线视频导航| 亚洲福利在线观看| 久久成人综合视频| 亚洲高清资源综合久久精品| 久久免费视频在线观看| 久久久久这里只有精品| 欧美h视频在线| 亚洲精品乱码久久久久久按摩观 | 亚洲图片欧美一区| 亚洲免费人成在线视频观看| 久久精品国产成人| 欧美激情按摩| 国产精品一区二区女厕厕| 国产在线视频不卡二| 亚洲人成网站影音先锋播放| 亚洲一区二区欧美日韩| 久久国产一区| 亚洲人成啪啪网站| 欧美在线观看视频| 欧美日韩国产在线播放| 狠狠入ady亚洲精品经典电影| 亚洲美女尤物影院| 久久精品亚洲| 99热这里只有成人精品国产| 久久成年人视频| 欧美三级网址| 亚洲电影有码| 久久精品综合网| 99热精品在线观看| 久久亚洲精品欧美| 国产麻豆精品视频| 在线亚洲成人| 欧美黑人多人双交| 久久精品人人做人人爽电影蜜月 | 欧美激情区在线播放| 国产精品三上| 另类亚洲自拍| 一区二区三区鲁丝不卡| 欧美一区视频| 国产精品欧美久久久久无广告| 国产精品福利网站| 91久久久久久国产精品| 性做久久久久久久免费看| 国产午夜精品美女视频明星a级| 国产精品看片资源| 国产欧美日韩不卡免费| 亚洲国产日本| 另类成人小视频在线| 亚洲午夜伦理| 国产精品成人一区二区三区吃奶| 亚洲精品在线看| 欧美ed2k| 美女亚洲精品| 最新亚洲视频| 亚洲国产综合在线| 免费观看亚洲视频大全| 在线精品一区二区| 欧美第十八页| 欧美成人国产va精品日本一级| 国产一区二区| 久久五月天婷婷| 久久精品av麻豆的观看方式| 国产综合色一区二区三区| 久久久www| 久久久久www| 亚洲国产高清aⅴ视频| 免费观看在线综合| 欧美va亚洲va国产综合| 亚洲毛片av| 日韩一区二区精品视频| 欧美性猛片xxxx免费看久爱| 亚洲在线网站| 欧美一区日本一区韩国一区| 黄色av日韩| 欧美韩日一区二区| 欧美日韩一区二区视频在线观看| 一区二区欧美在线观看| 亚洲天堂视频在线观看| 国产日韩欧美一区二区| 美女91精品| 欧美日韩国产精品一卡| 亚洲欧洲av一区二区| 欧美一区日韩一区| 激情伊人五月天久久综合| 亚洲精品国精品久久99热一| 国产欧美日韩另类一区| 午夜久久资源| 欧美一级二区| 日韩视频一区二区三区在线播放免费观看| 欧美午夜精品久久久久久超碰| 农夫在线精品视频免费观看| 国产精品自在线| 亚洲三级影院| 亚洲欧美在线视频观看| 国产亚洲高清视频| 国产日本欧美一区二区| 免播放器亚洲一区| 欧美体内she精视频| 先锋影音久久久| 一区免费观看视频| 性欧美暴力猛交69hd| 开心色5月久久精品| 亚洲一区二区三区在线观看视频| 欧美一级在线视频| 亚洲理伦电影| 久久福利精品| 午夜精品www| 欧美经典一区二区| 免费一区二区三区| 国产精品午夜在线观看| 亚洲国产精品va在线看黑人动漫 | 亚洲电影免费观看高清| 国产麻豆午夜三级精品| 亚洲精品在线一区二区| 国产在线观看一区| 一区二区三区视频在线观看| 亚洲国产精品精华液网站| 午夜日韩激情| 性欧美1819sex性高清| 欧美日韩国产另类不卡| 亚洲高清一区二| 在线日韩电影| 久久久久久久久久久一区| 欧美一区激情视频在线观看| 欧美日韩一区二区三区四区在线观看 | 久久综合给合久久狠狠狠97色69| 欧美性猛交一区二区三区精品| 亚洲激情在线观看| 亚洲国内欧美| 欧美风情在线观看| 亚洲国产高清自拍| 亚洲激情网站免费观看| 久久精品日产第一区二区| 久久大综合网| 亚洲视频国产视频| 最新成人在线| 欧美a级一区| 欧美国产一区二区在线观看| 欧美一区二区免费视频| av不卡在线| 中文亚洲免费| 午夜亚洲视频| 久久午夜激情| 国产精品白丝jk黑袜喷水| 国产亚洲欧美中文| 亚洲免费在线播放| 久久aⅴ国产紧身牛仔裤| 国产日韩欧美不卡| 久久精品官网| 欧美激情第10页| 亚洲美女一区| 国产精品乱码妇女bbbb| 国产精品黄视频| 国产精品久久久久久久app| 亚洲国产精品高清久久久| 午夜视频在线观看一区二区三区 | 欧美日韩精品一本二本三本| 亚洲一级黄色| 亚洲欧美综合另类中字| 欧美一区二区在线视频| 欧美精品福利在线| 国产精品夜夜夜一区二区三区尤| 国产精品每日更新| 91久久极品少妇xxxxⅹ软件| 亚洲特级片在线| 欧美大色视频| 亚洲欧美日韩精品| 国产精品mm| 国语自产精品视频在线看8查询8| 亚洲国产一区二区三区在线播| 久久久99爱| 在线综合+亚洲+欧美中文字幕| 欧美在线视频免费| 国产视频一区欧美| 久久久欧美精品sm网站| 亚洲少妇在线| 欧美日韩国产麻豆| 亚洲人成网站777色婷婷| 亚洲国产一区在线观看| 夜夜嗨av一区二区三区网站四季av| 久久久久久成人| 国产精品专区第二| 亚洲欧美999| 亚洲午夜小视频| 国产精品毛片一区二区三区| 亚洲一区二区三区在线看| 亚洲国产二区| 欧美日韩国产专区| 免费成人av资源网| 国产亚洲在线观看| 欧美激情第五页| 国产精品日韩欧美综合|