亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 解決tsp的遺傳算法.txt

?? 對于具有一定規模的TSP問題的求解
?? TXT
字號:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<alloc.h>
#include<conio.h>
#include<float.h>
#include<time.h>
#include<graphics.h>
#include<bios.h>

#define maxpop 100
#define maxstring 100

struct pp{unsigned char chrom[maxstring];
   float x,fitness;
   unsigned int parent1,parent2,xsite;
   };
struct pp *oldpop,*newpop,*p1;
unsigned int popsize,lchrom,gem,maxgen,co_min,jrand;
unsigned int nmutation,ncross,jcross,maxpp,minpp,maxxy;
float pcross,pmutation,sumfitness,avg,max,min,seed,maxold,oldrand[maxstring];
unsigned char x[maxstring],y[maxstring];
float *dd,ff,maxdd,refpd,fm[201];
FILE *fp,*fp1;
float objfunc(float);
void statistics();
int select();
int flip(float);
int crossover();
void generation();
void initialize();
void report();
float decode();
void crtinit();
void inversion();
float random1();
void randomize1();

main()
{unsigned int gen,k,j,tt;
char fname[10];
float ttt;
clrscr();
co_min=0;
if((oldpop=(struct pp *)farmalloc(maxpop*sizeof(struct pp)))==NULL)
{printf("memory requst fail!\n");exit(0);}
if((dd=(float *)farmalloc(maxstring*maxstring*sizeof(float)))==NULL)
{printf("memory requst fail!\n");exit(0);}
if((newpop=(struct pp *)farmalloc(maxpop*sizeof(struct pp)))==NULL)
{printf("memory requst fail!\n");exit(0);}
if((p1=(struct pp *)farmalloc(sizeof(struct pp)))==NULL)
{printf("memory requst fail!\n");exit(0);}
for(k=0;k<maxpop;k++) oldpop[k].chrom[0]='\0';
for(k=0;k<maxpop;k++) newpop[k].chrom[0]='\0';
printf("Enter Result Data Filename:");
gets(fname);
if((fp=fopen(fname,"w+"))==NULL)
{printf("cannot open file\n");exit(0);}

gen=0;
randomize();
initialize();

fputs("this is result of the TSP problem:",fp);
fprintf(fp,"city: %2d psize: %3d Ref.TSP_path: %f\n",lchrom,popsize,refpd);
fprintf(fp,"Pc: %f Pm: %f Seed: %f\n",pcross,pmutation,seed);
fprintf(fp,"X site:\n");
for(k=0;k<lchrom;k++)
{if((k%16)==0) fprintf(fp,"\n");
fprintf(fp,"%5d",x[k]);
}
fprintf(fp,"\n Y site:\n");
for(k=0;k<lchrom;k++)
{if((k%16)==0) fprintf(fp,"\n");
fprintf(fp,"%5d",y[k]);
}
fprintf(fp,"\n");

crtinit();
statistics(oldpop);
report(gen,oldpop);
getch();
maxold=min;
fm[0]=100.0*oldpop[maxpp].x/ff;
do {
gen=gen+1;
generation();
statistics(oldpop);
if(max>maxold)
{maxold=max;
  co_min=0;
}
fm[gen%200]=100.0*oldpop[maxpp].x/ff;
report(gen,oldpop);
gotoxy(30,25);
ttt=clock()/18.2;
tt=ttt/60;
printf("Run Clock: %2d: %2d: %4.2f",tt/60,tt%60,ttt-tt*60.0);
printf("Min=%6.4f Nm:%d\n",min,co_min);
}while((gen<100)&&!bioskey(1));
printf("\n gen= %d",gen);
do{
gen=gen+1;
generation();
statistics(oldpop);
if(max>maxold)
{maxold=max;
  co_min=0;
}
fm[gen%200]=100.0*oldpop[maxpp].x/ff;
report(gen,oldpop);
if((gen%100)==0)report(gen,oldpop);
gotoxy(30,25);
ttt=clock()/18.2;
tt=ttt/60;
printf("Run Clock: %2d: %2d: %4.2f",tt/60,tt%60,ttt-tt*60.0);
printf("Min=%6.4f Nm:%d\n",min,co_min);
}while((gen<maxgen)&&!bioskey(1));

getch();
for(k=0;k<lchrom;k++)
{if((k%16)==0)fprintf(fp,"\n");
fprintf(fp,"%5d",oldpop[maxpp].chrom[k]);
}
fprintf(fp,"\n");

fclose(fp);
farfree(dd);
farfree(p1);
farfree(oldpop);
farfree(newpop);
restorecrtmode();
exit(0);
}

/*%%%%%%%%%%%%%%%%*/

float objfunc(float x1)
{float y;
y=100.0*ff/x1;
return y;
}

/*&&&&&&&&&&&&&&&&&&&*/

void statistics(pop)
struct pp *pop;
{int j;
sumfitness=pop[0].fitness;
min=pop[0].fitness;
max=pop[0].fitness;
maxpp=0;
minpp=0;
for(j=1;j<popsize;j++)
{sumfitness=sumfitness+pop[j].fitness;
if(pop[j].fitness>max)
  {max=pop[j].fitness;
   maxpp=j;
  }
if(pop[j].fitness<min)
  {min=pop[j].fitness;
   minpp=j;
  }
}

avg=sumfitness/(float)popsize;
}

/*%%%%%%%%%%%%%%%%%%%%*/

void generation()
{unsigned int k,j,j1,j2,i1,i2,mate1,mate2;
float f1,f2;
j=0;
do{
mate1=select();
pp:mate2=select();
if(mate1==mate2)goto pp;
crossover(oldpop[mate1].chrom,oldpop[mate2].chrom,j);
newpop[j].x=(float)decode(newpop[j].chrom);
newpop[j].fitness=objfunc(newpop[j].x);
newpop[j].parent1=mate1;
newpop[j].parent2=mate2;
newpop[j].xsite=jcross;
newpop[j+1].x=(float)decode(newpop[j+1].chrom);
newpop[j+1].fitness=objfunc(newpop[j+1].x);
newpop[j+1].parent1=mate1;
newpop[j+1].parent2=mate2;
newpop[j+1].xsite=jcross;
if(newpop[j].fitness>min)
  {for(k=0;k<lchrom;k++)
   oldpop[minpp].chrom[k]=newpop[j].chrom[k];
   oldpop[minpp].x=newpop[j].x;
   oldpop[minpp].fitness=newpop[j].fitness;
   co_min++;
   return;
  }

if(newpop[j+1].fitness>min)
  {for(k=0;k<lchrom;k++)
   oldpop[minpp].chrom[k]=newpop[j+1].chrom[k];
   oldpop[minpp].x=newpop[j+1].x;
   oldpop[minpp].fitness=newpop[j+1].fitness;
   co_min++;
   return;
  }
j=j+2;
}while(j<popsize);
}

/*%%%%%%%%%%%%%%%%%*/

void initdata()
{unsigned int ch,j;
clrscr();
printf("-----------------------\n");
printf("A SGA\n");
printf("------------------------\n");
/*pause();*/clrscr();
printf("*******SGA DATA ENTRY AND INITILIZATION *******\n");
printf("\n");
printf("input pop size");scanf("%d",&popsize);
printf("input chrom length");scanf("%d",&lchrom);
printf("input max generations");scanf("%d",&maxgen);
printf("input crossover probability");scanf("%f",&pcross);
printf("input mutation prob");scanf("%f",&pmutation);
randomize1();
clrscr();
nmutation=0;
ncross=0;
}

/*%%%%%%%%%%%%%%%%%%%%*/

void initreport()
{int j,k;
printf("pop size=%d\n",popsize);
printf("chromosome length=%d\n",lchrom);
printf("maxgen=%d\n",maxgen);
printf("pmutation=%f\n",pmutation);
printf("pcross=%f\n",pcross);
printf("initial generation statistics\n");
printf("ini pop max fitness=%f\n",max);
printf("ini pop avr fitness=%f\n",avg);
printf("ini pop min fitness=%f\n",min);
printf("ini pop sum fit=%f\n",sumfitness);
}

void initpop()
{unsigned char j1;
unsigned int k5,i1,i2,j,i,k,j2,j3,j4,p5[maxstring];
float f1,f2;
j=0;
for(k=0;k<lchrom;k++)
oldpop[j].chrom[k]=k;
for(k=0;k<lchrom;k++)
p5[k]=oldpop[j].chrom[k];
randomize();
for(;j<popsize;j++)
{j2=random(lchrom);
for(k=0;k<j2+20;k++)
   {j3=random(lchrom);
   j4=random(lchrom);
   j1=p5[j3];
   p5[j3]=p5[j4];
   p5[j4]=j1;
   }
for(k=0;k<lchrom;k++)
   oldpop[j].chrom[k]=p5[k];
}
for(k=0;k<lchrom;k++)
for(j=0;j<lchrom;j++)
dd[k*lchrom+j]=hypot(x[k]-x[j],y[k]-y[j]);
for(j=0;j<popsize;j++)
{oldpop[j].x=(float)decode(oldpop[j].chrom);
oldpop[j].fitness=objfunc(oldpop[j].x);
oldpop[j].parent1=0;
oldpop[j].parent2=0;
oldpop[j].xsite=0;
}
}

/*&&&&&&&&&&&&&&&&&*/
void initialize()
{int k,j,minx,miny,maxx,maxy;
initdata();
minx=0;
miny=0;
maxx=0;maxy=0;
for(k=0;k<lchrom;k++)
{x[k]=rand();
if(x[k]>maxx)maxx=x[k];
if(x[k]<minx)minx=x[k];
y[k]=rand();
if(y[k]>maxy)maxy=y[k];
if(y[k]<miny)miny=y[k];
}
if((maxx-minx)>(maxy-miny))
{maxxy=maxx-minx;}
else {maxxy=maxy-miny;}
maxdd=0.0;
for(k=0;k<lchrom;k++)
for(j=0;j<lchrom;j++)
{dd[k*lchrom+j]=hypot(x[k]-x[j],y[k]-y[j]);
if(maxdd<dd[k*lchrom+j])maxdd=dd[k*lchrom+j];
}
refpd=dd[lchrom-1];
for(k=0;k<lchrom;k++)
refpd=refpd+dd[k*lchrom+k+2];
for(j=0;j<lchrom;j++)
dd[j*lchrom+j]=4.0*maxdd;
ff=(0.765*maxxy*pow(lchrom,0.5));
minpp=0;
min=dd[lchrom-1];
for(j=0;j<lchrom-1;j++)
{if(dd[lchrom*j+lchrom-1]<min)
  {min=dd[lchrom*j+lchrom-1];
   minpp=j;
  }
}
initpop();
statistics(oldpop);
initreport();
}

/*&&&&&&&&&&&&&&&&&&*/

void report(int l,struct pp *pop)
{int k,ix,iy,jx,jy;
unsigned int tt;
float ttt;
cleardevice();
gotoxy(1,1);
printf("city:%4d para_size:%4d maxgen:%4d ref_tour:%f\n"
   ,lchrom,popsize,maxgen,refpd);
printf("ncross:%4d Nmutation:%4d Rungen:%4d AVG=%8.4f MIN=%8.4f\n\n"
   ,ncross,nmutation,l,avg,min);
printf("Ref.cominpath:%6.4f Minpath length:%10.4f Ref_co_tour:%f\n"
   ,pop[maxpp].x/maxxy,pop[maxpp].x,ff);
printf("Co_minpath:%6.4f Maxfit:%10.8f"
   ,100.0*pop[maxpp].x/ff,pop[maxpp].fitness);
ttt=clock()/18.2;
tt=ttt/60;
printf("Run clock:%2d:%2d:%4d.2f\n",tt/60,tt%60,ttt-tt*60.0);
setcolor(1%15+1);
for(k=0;k<lchrom-1;k++)
{ix=x[pop[maxpp].chrom[k]];
iy=y[pop[maxpp].chrom[k]]+110;
jx=x[pop[maxpp].chrom[k+1]];
jy=y[pop[maxpp].chrom[k+1]]+110;
line(ix,iy,jx,jy);
putpixel(ix,iy,RED);
}
ix=x[pop[maxpp].chrom[0]];
iy=y[pop[maxpp].chrom[0]]+110;
jx=x[pop[maxpp].chrom[lchrom-1]];
jy=y[pop[maxpp].chrom[lchrom-1]]+110;
line(ix,iy,jx,jy);
putpixel(jx,jy,RED);
setcolor(11);
outtextxy(ix,iy,"*");
setcolor(12);
for(k=0;k<1%200;k++)
{ix=k+280;
iy=366-fm[k]/3;
jx=ix+1;
jy=366-fm[k+1]/3;
line(ix,iy,jx,jy);
putpixel(ix,iy,RED);
}
printf("GEN:%3d",l);
printf("Minpath:%f Maxfit:%f",pop[maxpp].x,pop[maxpp].fitness);
printf("Clock:%2d:%2d:%4.2f\n",tt/60,tt%60,ttt-tt*60.0);
}

/*###############*/

float decode(unsigned char *pp)
{int j,k,l;
float tt;
tt=dd[pp[0]*lchrom+pp[lchrom-1]];
for(j=0;j<lchrom-1;j++)
{tt=tt+dd[pp[j]*lchrom+pp[j+1]];}
l=0;
for(k=0;k<lchrom-1;k++)
for(j=k+1;j<lchrom;j++)
{if(pp[j]==pp[k])l++;}
return tt+4*l*maxdd;
}

/*%%%%%%%%%%%%%%%%%%*/
void crtinit()
{int driver,mode;
struct palettetype p;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
cleardevice();
}

/*$$$$$$$$$$$$$$$$$$$$*/
int select()
{double rand1,partsum;
float r1;
int j;
partsum=0.0;
j=0;
rand1=random1()*sumfitness;
do{
partsum=partsum+oldpop[j].fitness;
j=j+1;
}while((partsum<rand1)&&(j<popsize));
return j-1;
}

/*$$$$$$$$$$$$$$$*/
int crossover(unsigned char *parent1,unsigned char *parent2,int k5)
{int k,j,mutate,i1,i2,j5;
int j1,j2,j3,s0,s1,s2;
unsigned char jj,ts1[maxstring],ts2[maxstring];
float f1,f2;
s0=0;s1=0;s2=0;
if(flip(pcross))
{jcross=random(lchrom-1);
j5=random(lchrom-1);
ncross=ncross+1;
if(jcross>j5){k=jcross;jcross=j5;j5=k;}
}
else jcross=lchrom;
if(jcross!=lchrom)
{s0=1;
k=0;
for(j=jcross;j<j5;j++)
{ts1[k]=parent1[j];
ts2[k]=parent2[j];
k++;
}
j3=k;
for(j=0;j<lchrom;j++)
{j2=0;
  while((parent2[j]!=ts1[j2])&&(j2<k)){j2++;}
  if(j2==k)
   {ts1[j3]=parent2[j];
   j3++;
   }
}
j3=k;
for(j=0;j<lchrom;j++)
{j2=0;
  while((parent1[j]!=ts2[j2])&&(j2<k)){j2++;}
  if(j2==k)
   {ts2[j3]=parent1[j];
   j3++;
   }
}
for(j=0;j<lchrom;j++)
{newpop[k5].chrom[j]=ts1[j];
  newpop[k5+1].chrom[j]=ts2[j];
}
}
else
{for(j=0;j<lchrom;j++)
{newpop[k5].chrom[j]=parent1[j];
newpop[k5+1].chrom[j]=parent2[j];
}
mutate=flip(pmutation);
if(mutate)
{s1=1;
nmutation=nmutation+1;
for(j3=0;j3<200;j3++)
   {j1=random(lchrom);
   j=random(lchrom);
   jj=newpop[k5].chrom[j];
   newpop[k5].chrom[j]=newpop[k5].chrom[j1];
   newpop[k5].chrom[j1]=jj;
   }
}
mutate=flip(pmutation);
if(mutate)
{s2=1;
nmutation=nmutation+1;
for(j3=0;j3<100;j3++)
   {j1=random(lchrom);
   j=random(lchrom);
   jj=newpop[k5+1].chrom[j];
   newpop[k5+1].chrom[j]=newpop[k5+1].chrom[j1];
   newpop[k5+1].chrom[j1]=jj;
   }
}
}
j2=random(2*lchrom/3);
for(j=j2;j<j2+lchrom/3-1;j++)
for(k=0;k<lchrom;k++)
{if(k==j)continue;
  if(k>j){i2=k;i1=j;}
   else{i1=k;i2=j;}
  f1=dd[lchrom*newpop[k5].chrom[i1]+newpop[k5].chrom[i2]];
  f1=f1+dd[lchrom*newpop[k5].chrom[(i1+1)%lchrom]+
   newpop[k5].chrom[(i2+1)%lchrom]];
  f2=dd[lchrom*newpop[k5].chrom[i1]+
   newpop[k5].chrom[(i1+1)%lchrom]];
  f2=f2+dd[lchrom*newpop[k5].chrom[i2]+
   newpop[k5].chrom[(i2+1)%lchrom]];
  if(f1<f2){inversion(i1,i2,newpop[k5].chrom);}
}
j2=random(2*lchrom/3);
for(j=j2;j<j2+lchrom/3-1;j++)
for(k=0;k<lchrom;k++)
{if(k==j)continue;
  if(k>j){i2=k;i1=j;}
   else{i1=k;i2=j;}
  f1=dd[lchrom*newpop[k5+1].chrom[i1]+newpop[k5+1].chrom[i2]];
  f1=f1+dd[lchrom*newpop[k5+1].chrom[(i1+1)%lchrom]+
   newpop[k5+1].chrom[(i2+1)%lchrom]];
  f2=dd[lchrom*newpop[k5+1].chrom[i1]+
   newpop[k5+1].chrom[(i1+1)%lchrom]];
  f2=f2+dd[lchrom*newpop[k5+1].chrom[i2]+
   newpop[k5+1].chrom[(i2+1)%lchrom]];
  if(f1<f2){inversion(i1,i2,newpop[k5+1].chrom);}
}
return 1;
}

/*$$$$$$$$$$$$$$$*/

void inversion(unsigned int k,unsigned int j,unsigned char *ss)
{unsigned int l1,i;
unsigned char tt;
l1=(j-k)/2;
for(i=0;i<l1;i++)
{tt=ss[k+i+1];
ss[k+i+1]=ss[j-i];
ss[j-i]=tt;
}
}

/*%%%%%%%%%%%%%%%*/

void randomize1()
{int i;
randomize();
for(i=0;i<lchrom;i++)
oldrand[i]=random(30001)/30000.0;
jrand=0;
}

/*%%%%%%%%%%%*/

float random1()
{jrand=jrand+1;
if(jrand>=lchrom)
{jrand=0;
randomize1();
}
return oldrand[jrand];
}

/*%%%%%%%%%%*/

int flip(float probability)
{float ppp;
ppp=random(20001)/20000.0;
if(ppp<=probability)return 1;
return 0;
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91啦中文在线观看| 2020国产精品自拍| 精品国产髙清在线看国产毛片| 国产欧美一区在线| 成人中文字幕合集| jiyouzz国产精品久久| 欧美性生交片4| 国产精品污污网站在线观看| 日本午夜精品一区二区三区电影| 91视频免费播放| 精品少妇一区二区三区免费观看| 亚洲电影第三页| av不卡一区二区三区| 国产清纯在线一区二区www| 麻豆国产精品视频| 7777精品伊人久久久大香线蕉完整版 | 日韩一区二区中文字幕| 曰韩精品一区二区| 99re这里只有精品首页| 国产日韩欧美精品一区| 亚洲欧美aⅴ...| 精品亚洲国产成人av制服丝袜| 欧美日韩一区二区三区四区 | av中文字幕不卡| 国产无人区一区二区三区| 久久精品国产第一区二区三区| 欧美剧在线免费观看网站| 夜夜嗨av一区二区三区网页| 在线欧美日韩国产| 一区二区三区四区在线| 欧美三区在线视频| 亚洲第一综合色| 制服.丝袜.亚洲.中文.综合| 日韩av网站免费在线| 制服.丝袜.亚洲.另类.中文| 日韩精品欧美精品| 日韩欧美不卡在线观看视频| 九九久久精品视频 | 日韩欧美一二区| 免费看欧美女人艹b| 欧美精品一区二区不卡| 国产毛片精品一区| 中文字幕一区二区三区四区不卡| 99热国产精品| 亚洲成人精品一区| 精品卡一卡二卡三卡四在线| 国产成人精品www牛牛影视| 日韩一区中文字幕| 欧美在线高清视频| 美女爽到高潮91| 国产亚洲综合在线| 日本韩国欧美在线| 蜜臀av国产精品久久久久 | 成人一级黄色片| 亚洲视频电影在线| 欧美电影影音先锋| 国产精品资源在线| 亚洲激情成人在线| 日韩精品在线看片z| 97久久超碰国产精品电影| 亚洲国产精品久久一线不卡| 久久香蕉国产线看观看99| 91浏览器入口在线观看| 美国毛片一区二区| 亚洲欧洲99久久| 日韩精品在线一区| 一本色道综合亚洲| 国产一区二区三区视频在线播放| 亚洲三级在线看| 日韩女优视频免费观看| 色婷婷综合五月| 国产黄人亚洲片| 香蕉加勒比综合久久| 亚洲国产成人一区二区三区| 欧美一区二区三区免费在线看| 丁香另类激情小说| 老司机一区二区| 亚洲韩国精品一区| 国产精品久久久久久久久免费相片 | 欧美大胆一级视频| 91国模大尺度私拍在线视频| 国产一区二区三区四| 日本在线不卡视频| 亚洲欧美另类图片小说| 日本一区二区综合亚洲| 日韩精品一区二区在线| 精品视频在线视频| 成人av免费在线观看| 国产真实乱偷精品视频免| 日韩国产欧美视频| 一片黄亚洲嫩模| 日韩理论片一区二区| 久久久精品免费网站| 日韩无一区二区| 欧美色区777第一页| 色久综合一二码| 色系网站成人免费| 波多野结衣亚洲| 国产成人精品影视| 国内久久婷婷综合| 激情综合色播五月| 奇米影视在线99精品| 五月天婷婷综合| 亚洲v精品v日韩v欧美v专区| 一区二区三区日韩精品视频| 亚洲另类色综合网站| 亚洲人精品一区| 亚洲精品免费电影| 一区二区三区影院| 一区二区三区 在线观看视频 | 国产精品蜜臀av| 国产精品第四页| 亚洲欧美国产毛片在线| 亚洲理论在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧美成人一区二区三区| 一区二区三区日韩欧美| 亚洲高清免费一级二级三级| 午夜久久久久久电影| 免费观看日韩av| 国产在线播放一区三区四| 国产iv一区二区三区| aaa亚洲精品| 在线观看免费一区| 欧美一区二区在线免费观看| 日韩欧美另类在线| 国产欧美综合在线观看第十页 | 一本大道久久精品懂色aⅴ| 91丝袜国产在线播放| 欧美日韩情趣电影| 欧美va日韩va| 中文字幕一区二| 午夜视频久久久久久| 玖玖九九国产精品| 不卡的电视剧免费网站有什么| 色婷婷久久综合| 91精品国产欧美一区二区成人 | 在线不卡的av| 欧美日本一道本| 日韩欧美一二三四区| 国产精品卡一卡二| 亚洲成av人在线观看| 国产精品亚洲成人| 色偷偷久久人人79超碰人人澡| 欧美老肥妇做.爰bbww视频| 精品国产电影一区二区 | 中文字幕一区二区在线播放| 亚洲国产精品一区二区久久| 日韩影院在线观看| 不卡一区中文字幕| 日韩欧美激情一区| 亚洲女同女同女同女同女同69| 五月激情综合网| 99这里都是精品| 欧美一区二区三区免费| 亚洲欧美在线aaa| 另类小说一区二区三区| 91丨porny丨户外露出| 精品福利一二区| 亚洲愉拍自拍另类高清精品| 国产毛片一区二区| 在线播放一区二区三区| 国产精品美女www爽爽爽| 日韩电影在线免费| 色综合久久综合| 国产无人区一区二区三区| 天堂成人国产精品一区| 色婷婷一区二区三区四区| 国产视频一区二区在线| 久久97超碰色| 91精品国产高清一区二区三区| 亚洲视频中文字幕| 粉嫩嫩av羞羞动漫久久久| 欧美一区二区国产| 亚洲午夜一二三区视频| 91视频com| 国产精品国产三级国产aⅴ无密码| 九九国产精品视频| 91精品在线免费| 天天色综合天天| 91传媒视频在线播放| 中文字幕亚洲不卡| 懂色av一区二区三区蜜臀| 精品日韩99亚洲| 卡一卡二国产精品 | 国产一二精品视频| 日韩精品自拍偷拍| 麻豆成人av在线| 日韩女同互慰一区二区| 日韩福利电影在线| 69p69国产精品| 婷婷久久综合九色综合绿巨人| 在线观看日韩av先锋影音电影院| 亚洲婷婷国产精品电影人久久| www.亚洲色图| 亚洲精品免费在线| 在线日韩av片| 五月综合激情网| 3atv在线一区二区三区| 看片的网站亚洲|