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

學(xué)習(xí)心得(code)

superlong@CoreCoder

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

文字可能放在http://blog.csdn.net/superlong100,此處存放代碼

常用鏈接

留言簿(4)

我參與的團(tuán)隊(duì)

搜索

  •  

最新隨筆

最新評(píng)論

  • 1.?re: Poj 1279
  • 對(duì)于一個(gè)凹多邊形用叉積計(jì)算面積 后能根據(jù)結(jié)果的正負(fù)來(lái)判斷給的點(diǎn)集的時(shí)針?lè)较颍?
  • --bsshanghai
  • 2.?re: Poj 3691
  • 你寫(xiě)的這個(gè)get_fail() 好像并是真正的get_fail,也是說(shuō)fail指向的串并不是當(dāng)前結(jié)點(diǎn)的子串。為什么要這樣弄呢?
  • --acmer1183
  • 3.?re: HDU2295[未登錄](méi)
  • 這個(gè)是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4.?re: HDU2295
  • 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
  • --ylfdrib
  • 5.?re: HOJ 11482
  • 呵呵..把代碼發(fā)在這里很不錯(cuò)..以后我也試試...百度的編輯器太爛了....
  • --csuft1

閱讀排行榜

評(píng)論排行榜

#include<iostream>

#include
<math.h>

#include
<vector>

#include
<algorithm>

#include
<stdio.h>

using namespace std;

const double eps = 1e-10;

const double pi = acos( -1.0 );

const double inf = 1e100;

inline 
int sig( double x ){

    
return (x > eps) - (x < - eps);

}


struct point{

    
double x, y, dis, angle;

    point()
{}

    point( 
double x0, double y0 ):x(x0),y(y0){}

    
//邏輯運(yùn)算

    inline 
bool operator < ( point t )const {

        
return sig ( y - t.y ) < 0 || sig ( y - t.y ) == 0 && sig( x - t.x ) < 0 ;

    }


    inline 
bool operator == ( point t )const{

        
return sig ( x - t.x ) == 0 && sig ( y - t.y ) == 0;

    }


    
//算術(shù)運(yùn)算

    inline point 
operator - ( point b){

        
return point( x - b.x , y - b.y );

    }


    inline point 
operator + ( point b ){

        
return point( x + b.x, y + b.y );

    }


    inline point 
operator * ( double t ){

        
return point ( x * t , y * t );

    }


    inline point 
operator / ( double t ){

        
return point ( x / t , y / t );

    }


    
//求長(zhǎng)度

    inline 
double len(){

        
return sqrt( x * x + y * y );

    }


    
//長(zhǎng)度的平方

    inline 
double len2(){

        
return x * x + y * y ;

    }


    inline 
double dist( point t ){

        
return sqrt( (x - t.x)*(x - t.x) + (y - t.y)*(y - t.y) );

    }


    
//輸入輸出

    
int read(){

        
return scanf("%lf%lf",&x,&y);

    }


    
void out(){

        printf(
"(%.2lf %.2lf) ",x,y);

    }


}
;

inline 
bool _cmp( point a, point b ){

    
return sig( a.angle - b.angle ) < 0 || sig( a.angle - b.angle ) == 0 && sig( a.dis - b.dis ) < 0;

}


// 點(diǎn)積

inline 
double dot( point a, point b ){

    
return a.x * b.x + a.y * b.y ;

}


inline 
double dot( point p , point a, point b ){//這種形式更常用

    
return ( a.x - p.x ) * (b.x - p.x) + (a.y - p.y) * (b.y - p.y);

}


//叉積 ,遵循 左手定則(左旋為正)

inline 
double cross( point a, point b){

    
return a.y * b.x - a.x * b.y ;

}


inline 
double cross( point p , point a, point b){//這種形式更常用

    
return (a.y - p.y) *(b.x - p.x) - (a.x - p.x) * (b.y - p.y);

}


//angle > 0 表示逆時(shí)針旋轉(zhuǎn),angle < 0 為順時(shí)針

//矢量pv以p為頂點(diǎn)逆時(shí)針旋轉(zhuǎn)angle并放大scale倍

inline point rotate( point v, point p, 
double angle, double scale ){

    point ret 
= p;

    v.x 
-= p.x, v.y -= p.y;

    p.x 
= scale * cos(angle);   p.y = scale * sin(angle);

    ret.x 
+= v.x * p.x - v.y * p.y;

    ret.y 
+= v.x * p.y + v.y * p.x;

    
return ret;

}


//向量 p 的法向量 ,p逆時(shí)針旋轉(zhuǎn)90度

inline point faxiang( point p)
{

    
return point( - p.y , p.x );

}


//向量 ab 左移 r 長(zhǎng)度

inline point left( point a, point b, 
double r){

    point ta, tb, tt;

    tt.x 
= b.y - a.y;       tt.y = a.x - b.x;

    
double k = r / sqrt( tt.x * tt.x + tt.y * tt.y );

    tt.x 
= - tt.x * k;      tt.y = - tt.y * k;

    
return tt;

}


//兩向量之間的夾角[0,pi] , 乘以 cross( a, b ) 后便成了有向夾角。

inline 
double point_angle(point a,point b){

    
return acos( dot( a, b ) / sqrt( a.len2() * b.len2() ));

    
return cross( a, b ) * acos( dot( a, b ) / sqrt( a.len2() * b.len2() ));

}


//點(diǎn)到直線的距離

inline 
double point_to_line(point p, point a, point b){

    
return fabs( cross( a, p, b ) / ( b - a ).len());

}


//返回點(diǎn)p與線段ab的距離,

inline 
double point_to_seg(point p , point a,point b){

    
if ( sig ( dot ( a, p, b ) ) < 0 )//p在a端外

        
return ( p - a ).len();

    
if ( sig ( dot ( b, p, a ) ) < 0 )//p在b端外

        
return ( p - b ).len();

    
return point_to_line( p , a , b );//p正對(duì)于ab

}


//返回線段ab與線段cd之間的距離,相交(有一個(gè)公共點(diǎn))返回0,交點(diǎn)為p。自己通過(guò)<,<=,來(lái)處理邊界

inline 
double seg_to_seg ( point a , point b ,point c ,point d,point &p ){

    
if! ( (sig ( max( a.x , b.x ) - min( c.x , d.x ) ) < 0 ) || ( sig ( max( d.x , c.x ) - min( a.x , b.x ) ) < 0 )

    
||( sig ( max ( a.y , b.y ) - min( c.y , d.y ) ) < 0 ) || ( sig ( max( d.y , c.y ) - min ( a.y , b.y ) ) < 0 ) ) )

    
{

        
if ( sig ( cross( a, b, c ) * cross ( a, b, d) ) <= 0 && sig ( cross( c, d, a ) * cross ( c, d, b ) ) <= 0 ){

            p 
= a;

            
double t=((a.x-c.x)*(c.y-d.y)-(a.y-c.y)*(c.x-d.x))

                    
/((a.x-b.x)*(c.y-d.y)-(a.y-b.y)*(c.x-d.x));

            p.x
+=(b.x-a.x)*t;

            p.y
+=(b.y-a.y)*t;

            
return 0;

        }


    }


    
//不相交

    
return min( min( point_to_seg( a, c, d ) , point_to_seg( b, c, d ) ), min( point_to_seg( c, a, b), point_to_seg( d, a, b ) ));

}


// 嚴(yán)格相交

inline 
int seg_insert_line ( point a,  point b,  point c, point d, point & p){

    
if ( sig ( cross( c, d, a ) * cross ( c, d, b ) ) < 0 ){

        p 
= a;

        
double t=((a.x-c.x)*(c.y-d.y)-(a.y-c.y)*(c.x-d.x))

                
/((a.x-b.x)*(c.y-d.y)-(a.y-b.y)*(c.x-d.x));

        p.x
+=(b.x-a.x)*t;

        p.y
+=(b.y-a.y)*t;

        
return 1;

    }


    
return 0;

}


// 求向量 a 的極角,角度范圍為 [0,pi*2)

double angle( point a ){

    
double t = atan2( a.y, a.x );

    
return sig( t ) >= 0 ? t : t + pi * 2;

}


// 角度修正函數(shù),根據(jù)不同的題目有不同寫(xiě)法和功能

void fix_angle( double & rad ){

    
if( sig( rad - pi ) > 0 ) rad -= pi * 2;

    
if( sig( rad + pi ) < 0 ) rad += pi * 2;

}





//求直線和園相交。0為相離,1為相切,2為相交,交點(diǎn)v1,v2 ,且 v2到v1是逆時(shí)針指向

int cir_insert_line( point c, double r, point a, point b, point &v1, point &v2){

    
double h = fabs( cross( a, c, b )/(b - a).len());

    
if( sig( h - r ) > 0 )

        
return 0;

    point tmp 
= point ( -(b - a).y, (b - a).x );

    
if ( sig( cross( a, c, b )) > 0 )

        tmp.x 
= - tmp.x , tmp.y = -tmp.y;

    tmp 
= tmp*( h / tmp.len() );

    point mid 
= c + tmp;

    
if ( sig( h - r ) == 0 ){

        v1 
= mid;

        
return 1;

    }


    
double l2 = ( r * r - h * h );

    tmp 
= ( b - a );

    tmp 
= tmp * sqrt( l2 / tmp.len2() );

    v1 
= tmp + mid; tmp.x = - tmp.x;

    tmp.y 
= - tmp.y; v2 = tmp + mid;

    
return 2;

}


// 判斷點(diǎn)在線段上,條件:pt,pl1,pl2共線

inline 
bool pt_in_seg( point pt, point pl1, point pl2 ){

    
return ( sig( dot(pl1,pt,pl2)) >= 0 && sig( dot(pl2,pt,pl1) ) >= 0 );

}


// 判斷點(diǎn)在線段上(不含端點(diǎn)),條件:pt,pl1,pl2共線

inline 
bool pt_in_segs( point pt, point pl1, point pl2 ){

    
return ( sig( dot(pl1,pt,pl2)) > 0 && sig( dot(pl2,pt,pl1) ) > 0 );

}


inline 
int pt_line( point p1, point p2 , point &ret ){

    ret.y 
= p2.x  - p1.x; ret.x = p1.y - p2.y;

    ret.dis 
= - dot( p1, ret );

    
return 0;

}


//求直線和園相交。0為相離,1為相切,2為相交,交點(diǎn)v1,v2 ,且 v2到v1是逆時(shí)針指向

int lcins(point po,double r,point pl1,point pl2,point &ret1,point &ret2)

{

    point vl;

    
double tmp1, tmp2;

    pt_line( pl1, pl2, vl );

    tmp1 
= dot( vl, po ) + vl.dis;

    
double ab = vl.len2(), mdis2 = ab * r * r - tmp1 * tmp1 ;

    
if( sig( mdis2 ) < 0 )

        
return 0;

    
else

    
{

        tmp1 
= ( vl.y * cross( vl, po ) - vl.dis * vl.x );

        tmp2 
= ( vl.x * cross( po, vl ) - vl.dis * vl.y );

        
if ( sig( mdis2 ) <= 0 )

        
{

            ret1.x 
= tmp1 / ab ; ret1.y = tmp2 / ab ;

            
return 1;

        }


        
else

        
{

            
double sq = sqrt( mdis2 );

            ret1.x 
= ( tmp1 + vl.y * sq ) / ab; ret1.y = ( tmp2 - vl.x * sq ) / ab;

            ret2.x 
= ( tmp1 - vl.y * sq ) / ab; ret2.y = ( tmp2 + vl.x * sq ) / ab;

            
return 2;

        }


    }


}


// 半徑為r,圓心在原點(diǎn)的圓,與三角形 ps,pe,o的相交面積。

double area_c2p( double r, point ps, point pe ){

    
double d1 = ps.len2(), d2 = pe.len2(), r2 = r * r;

    
double rad1, rad2, drad;

    
if ( d1 <= r2 && d2 <= r2 ) return cross( pe, ps ) * .5;

    point po(
0,0), ins1, ins2;

    rad1 
= angle( ps ); rad2 = angle( pe );

    drad 
= rad2 - rad1; fix_angle( drad );

    
int nins = cir_insert_line( po, r, ps, pe, ins1, ins2 );

    
if( nins <= 1 ) return drad*.5*r*r;

    
if(( sig( dot( ps, ins1, pe ) ) < 0 && sig( dot( ps, ins2, pe) ) < 0 )

      
||( sig( dot( pe, ins1, ps) ) < 0 && sig( dot( pe, ins2, ps ) ) < 0 ))

        
return drad*.5*r*r;

    
else if( pt_in_seg( ins1, ps, pe ) && pt_in_seg( ins2, ps, pe ))

    
{

        
double radi1, radi2, drad2, ret;

        
if ( pt_in_segs( ins1, ps, ins2 ))

        
{

            radi1 
= angle( ins1 ); radi2 = angle( ins2 );

            ret 
= cross( ins2, ins1 ) * .5;

        }


        
else

        
{

            radi1 
= angle( ins2 ); radi2 = angle( ins1 );

            ret 
= cross( ins1, ins2 ) * .5;

        }


        drad 
= radi1 - rad1;

        fix_angle( drad );

        drad2 
= rad2 - radi2;

        fix_angle( drad2);

        
return ret + ( drad + drad2 ) * .5 * r * r;

    }


    
else

    
{

        point pins, pout;

        
double radi;

        
if ( sig( dot( ps, ins1, pe )) < 0

        
|| sig( dot( pe, ins1, ps )) < 0 )

        
{

            pins 
= ins2, pout = ins1;

        }


        
else

        
{

            pins 
= ins1, pout = ins2;

        }


        radi 
= angle( pins );

        
if ( sig( dot( pe, pout, ps ) ) < 0 )

        
{

            drad 
= radi - rad1; fix_angle( drad );

            
return cross ( pe, pins ) * .5 + drad * .5 * r * r;

        }


        
else

        
{

            drad 
= rad2 - radi; fix_angle( drad );

            
return cross( pins, ps ) * .5 + drad * .5 * r * r;

        }


    }


}





//半徑為r圓,圓心在原點(diǎn)上的圓與多邊形的相交面積

double area_cpoly( double r, point p[], int n ){

    
int i; double ret = 0;

    p[n] 
= p[0];

    
for ( i = 1 ; i <= n ; i ++ )

        ret 
+= area_c2p( r, p[i-1], p[i] );

    
return ret;

}





//求圓和圓相交,返回交點(diǎn)個(gè)數(shù), 兩圓重合返回 -1

inline 
int cir_insert_cir( point c1, double r1,point c2, double r2, point &p1, point &p2 ){

    
double dist = c1.dist( c2 ) , tmp;

    
if ( sig ( dist - r1 - r2 ) > 0 )// 外離

        
return 0;

    
double r_min = min( r1, r2 ), r_max = max( r1, r2 );

    
if ( dist < r_max && sig ( dist + r_min - r_max ) < 0 )

        
return 0;// 內(nèi)離

    
if ( sig( dist - r1 - r2 ) == 0 ){// 外切

        p1 
= c1 + (c2 - c1)*(r1)/(dist);

        
return 1;

    }


    
if ( dist < r_max && sig ( dist + r_min - r_max ) == 0 ){// 內(nèi)切

        
if( sig( dist ) == 0 )

            
return -1// 兩圓重合

        p1 
= c1 + (c2 - c1)*(r_max)/( dist );

        
return 1;

    }


    point u, v;

    
double t;

    t 
= (1.+(r1*r1-r2*r2)/dist/dist)/2;

    u.x 
= c1.x+(c2.x-c1.x)*t;     u.y = c1.y+(c2.y-c1.y)*t;

    v.x 
= u.x+c1.y-c2.y;          v.y = u.y-c1.x+c2.x;

    cir_insert_line(c1,r1,u,v,p1,p2);

    
return 2;

}


//求圓上兩點(diǎn)之間的最小距離

inline 
double cir_dist( point a, point b, point c, double r){

    
double sita = point_angle( ( a - c ), ( b - c ) );

    
return r * sita;

}


//多邊形

struct polygon{

    
static const int MAXN = 10510;//多邊形大小




    point p[MAXN] ;

    
int n ;




    
// 構(gòu)造函數(shù)

    polygon()
{ n = 0 ; }

    
// 在多邊形末尾加點(diǎn)

    
void add( point & t ){

        
this->p[ n ++ ] = t;

    }


    
// 求面積,逆時(shí)針為正,順時(shí)針為負(fù)

    inline 
double area(){

        
double sum = 0 ;

        p[n] 
= p[0];

        
for ( int i = 0 ; i < n ; i++ )

            sum 
+= cross( p[ i + 1 ] , p[ i ] );

        
return sum * .5 ;

    }


    
// 將多邊形轉(zhuǎn)為反向

    inline 
int turn_back(){

        
double tmp = area();

        
if( sig( tmp ) < 0 )

            
for ( int i = 0; i < n / 2 ; i ++ )

                swap( p[i], p[n 
- i - 1] );

        
return sig( tmp );

    }


    
//求點(diǎn)集的凸包,存于 多邊形con中 ,原多邊形將亂序

    inline 
int convex( polygon & con ){

        
int t = 0, i;

        point tmp;

        
for( i = 1 ; i < n ; i ++ )

        
{

            
if( p[i] < p[t] )//先 y 值最小,再x值最小處理

            t 
= i;

        }


        swap( p[t], p[
0] );

        
for( i = 0 ; i < n ; i ++ )

        
{

            tmp 
= p[i] - p[0];

            p[i].dis 
= tmp.len2();

            p[i].angle 
= atan2( tmp.y, tmp.x );

        }


        sort( p, p 
+ n, _cmp );

        
int k = 0;

        con.p[ k 
++ ] = p[n-1];

        con.p[ k 
++ ] = p[0];

        
if( sig( p[1].angle - p[n-1].angle ) == 0 )//凸包為一線段

            con.p[ k 
++ ] = p[ n - 1];

        
else

        
{

            
for ( i = 1 ; i < n ; i ++ )

                
if( sig( cross( con.p[k-1], con.p[k-2], p[i] )) > 0 )

                    con.p[ k 
++ ] = p[i];

                
else

                    i 
-- , k -- ;

        }


        k 
-- ;

        con.n 
= k;

        
return k;

    }


    
// 求多邊形重心

    inline point tri_centroid( point a, point b, point c )
{

        point t( 
00 );

        t.x 
= ( a.x + b.x + c.x ) / 3 ;

        t.y 
= ( a.y + b.y + c.y ) / 3 ;

        
return t;

    }


    inline point poly_centroid()

    
{

        
int i;

        
double area = 0, tmp ;

        point rel( 
00 );

        
for ( i = 1 ; i < n - 1 ; i ++ )

        
{

            tmp 
= cross( p[0], p[i], p[ i + 1 ] );

            area 
+= tmp;

            rel 
= ( tri_centroid( p[0], p[i], p[i+1] ) * tmp ) + rel;

        }


        
if ( sig ( area ) != 0 )

            rel 
= rel / area;

        
return rel;

    }


    inline 
int read(){

        
int t = scanf("%d",&n);

        
if ( t == EOF )

            
return t;

        
forint i = 0 ; i < n ; i ++ )

            p[ i ].read();

        
return n;

    }


    inline 
void out(){

        printf(
"%d\n",n);

        
for ( int i = 0 ; i < n ; i ++ )

        
{

            p[i].
out();

            cout
<<endl;

        }


    }


    
//  直線st->ed,切割多邊形,留下st->ed左邊的部分,q[]為輔助數(shù)組。

    
void cut( point st, point ed, point q[] )

    
{

        
int i, j, k;

        point tmp;

        k 
= 0;

        p[n] 
= p[0];

        
for ( j = 0 ; j < n ; j ++ )

        
{

            
if ( sig( cross( st, ed, p[j] ) ) <= 0 )

                q[ k 
++ ] = p[j];

            
if ( seg_insert_line( p[j], p[j+1], st, ed, tmp ) )

                q[ k 
++ ] = tmp;

        }


        n 
= k;

        
for ( j = 0 ; j < n ; j ++ )  p[j] = q[j];

    }


    
// O(n^2) 的半平面求交,多邊形上的點(diǎn)逆時(shí)針輸入

    polygon half_plane2()
{

        turn_back();

        polygon tmp;

        p[ n ] 
= p[ 0 ];

        tmp 
= * this ;

        point q[ MAXN ];

        
for ( int i = 0 ; i < n ; i ++ )

        
{

            tmp.cut( p[i], p[i
+1], q );

        }


        
return tmp;

        
//  tmp.n 為0的時(shí)候 ,無(wú)交集,即多邊形的核

    }


}
;
posted on 2010-03-22 19:30 superlong 閱讀(211) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久国产主播| 国产精品va在线| 亚洲久久一区| 亚洲二区免费| 欧美激情精品久久久久久免费印度| 午夜一区不卡| 久久av资源网| 免费不卡欧美自拍视频| 亚洲大片av| 亚洲日本无吗高清不卡| 亚洲免费av观看| 亚洲免费人成在线视频观看| 午夜精品久久久久久久99黑人| 亚洲综合社区| 蜜桃久久av一区| 久久性色av| 亚洲一级电影| 久久久999精品视频| 久久这里有精品15一区二区三区| 米奇777在线欧美播放| 欧美尤物一区| 欧美激情第一页xxx| 亚洲无亚洲人成网站77777| 午夜免费久久久久| 欧美va天堂| 国产精品一区二区在线观看不卡| 国语对白精品一区二区| 亚洲最黄网站| 久久久久久久综合狠狠综合| 亚洲第一天堂av| 亚洲永久精品大片| 男女视频一区二区| 国产欧美日韩另类一区| 亚洲精品一区二区三区婷婷月 | 女人色偷偷aa久久天堂| 欧美视频官网| 亚洲国产小视频| 欧美在线一级视频| 91久久嫩草影院一区二区| 午夜久久久久久久久久一区二区| 免费在线观看一区二区| 国产视频一区免费看| 一区二区免费看| 欧美国产专区| 久久久国产精品一区二区中文| 欧美精品国产一区二区| 激情久久一区| 久久精品一区蜜桃臀影院| 夜夜嗨av一区二区三区四季av| 久久免费偷拍视频| 国产亚洲欧洲一区高清在线观看| 一区二区日韩精品| 亚洲高清不卡av| 免费观看日韩av| 伊人夜夜躁av伊人久久| 欧美专区在线| 亚洲欧美成人精品| 欧美亚洲成人网| 亚洲欧美日韩视频二区| 亚洲人成网站在线播| 欧美韩国日本一区| 亚洲精选成人| 亚洲精品乱码久久久久久日本蜜臀 | 夜夜嗨av一区二区三区中文字幕| 欧美大片一区二区三区| 亚洲国产美女| 亚洲成人在线视频播放 | 亚洲午夜高清视频| 亚洲韩国一区二区三区| 免费亚洲婷婷| 99精品国产在热久久| 91久久国产精品91久久性色| 欧美激情女人20p| 亚洲精品国产视频| 亚洲日本aⅴ片在线观看香蕉| 欧美激情免费观看| 亚洲欧美日韩中文视频| 亚洲午夜久久久久久久久电影网| 欧美体内谢she精2性欧美| 亚洲一区精品视频| 亚洲一区久久久| 狠狠色综合日日| 欧美国产高潮xxxx1819| 欧美激情视频给我| 亚洲小说春色综合另类电影| 亚洲在线视频网站| 国产一区二区三区黄视频| 毛片av中文字幕一区二区| 美国十次成人| 午夜精品免费视频| 久久riav二区三区| 亚洲精品一区二区三区不| 亚洲愉拍自拍另类高清精品| 黑人一区二区三区四区五区| 日韩网站在线观看| 国外精品视频| 一区二区三区日韩欧美| 国内成+人亚洲| 亚洲黄网站黄| 国产精品素人视频| 亚洲高清一区二区三区| 国产精品video| 欧美激情小视频| 国产一区二区高清视频| 亚洲国产成人tv| 国产亚洲日本欧美韩国| 亚洲精品一区久久久久久| 国产亚洲精品久久飘花 | 亚洲精品国产精品乱码不99| 国产精品一区亚洲| 亚洲精品少妇30p| 国产日韩欧美综合一区| 亚洲蜜桃精久久久久久久| 国内精品免费在线观看| 亚洲曰本av电影| 亚洲视频中文字幕| 久久只精品国产| 久久成人资源| 国产精品国产三级国产普通话99| 久久婷婷国产麻豆91天堂| 国产精品日韩二区| 亚洲国产精品一区二区第一页| 国产欧美在线播放| 日韩一级在线| 欧美ed2k| 一区二区三区在线免费视频| 亚洲私人影院在线观看| 亚洲第一黄色| 久久爱91午夜羞羞| 亚洲欧美日韩在线高清直播| 欧美极品在线播放| 蜜桃久久av| 在线精品视频免费观看| 欧美亚洲网站| 欧美一级艳片视频免费观看| 欧美激情亚洲| 亚洲欧洲综合| 一区二区欧美激情| 欧美日韩一区二区在线播放| 亚洲人体一区| 一区二区三区高清在线观看| 欧美激情一区二区| 欧美激情第五页| 99视频一区二区| 欧美日韩岛国| 在线午夜精品自拍| 香蕉久久国产| 国产日韩欧美综合在线| 欧美一区二区视频在线观看| 久久国产精品久久w女人spa| 国产精品视频免费在线观看| 久久综合国产精品台湾中文娱乐网| 中文精品视频一区二区在线观看| 欧美激情中文不卡| 91久久精品网| 亚洲欧美国产日韩天堂区| 国产精品国产福利国产秒拍 | 宅男精品导航| 性久久久久久久| 黄色成人av网站| 欧美黄污视频| 午夜精品久久久久久99热| 免费成人性网站| 一二三四社区欧美黄| 国产伦精品一区二区三区在线观看| 性欧美大战久久久久久久免费观看 | 欧美激情亚洲视频| 亚洲影音先锋| 亚洲第一天堂无码专区| 亚洲一区3d动漫同人无遮挡| 国产欧美日韩在线| 免费在线一区二区| 亚洲伊人网站| 亚洲精品视频一区二区三区| 久久激情视频久久| 日韩一级不卡| 一区在线视频观看| 国产精品qvod| 欧美激情一区二区三区蜜桃视频| 亚洲一区二区三区在线| 亚洲第一区在线观看| 久久免费的精品国产v∧| 日韩一区二区高清| 国模精品一区二区三区| 欧美三级视频在线播放| 美女久久一区| 香蕉免费一区二区三区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整 | 国内精品视频在线播放| 亚洲素人一区二区| 午夜精品久久久久久99热软件| 激情综合五月天| 亚洲在线第一页| 香蕉成人久久| 国产精品青草综合久久久久99| 亚洲精品综合精品自拍| 亚洲盗摄视频| 免费不卡在线视频| 欧美大片一区二区| 亚洲国产一区二区a毛片|