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

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

?? block.java

?? 應用廣度優先搜索策略:該算法首先根據輸入的節點數(該程序可選的有3X3
?? JAVA
字號:
import java.io.*;

public class Block{
	 public String []blockString;
	 private Block []childBlock;
	 private int access;
	 public Block []route;
	 
	 public Block(String []xBlock){
	 	 this.blockString=new String[xBlock.length];
	 	 for(int i=0;i<xBlock.length;i++)
	 	    blockString[i]=new String(xBlock[i]);
	 	 this.childBlock=new Block[4];
	 	 for(int i=0;i<4;i++)this.childBlock[i]=null;
	 	 access=0;
	 	}  
	 	
	 public boolean createBlockTree(String []yBlock,int dm){
	 	 Block p,q;
	 	 String []xsBlock;
	 	 String []xBlock;
	 	 int d=0,c=0;
	 	 p=this;
	 	 int blockN=(int)Math.sqrt(p.blockString.length);
	 	 while(!complete(p.blockString,yBlock)){
	 	 	 c=0;
	 	 	 p.access=1;
	 	 	 xsBlock=new String[p.blockString.length];
	 	 	 xBlock=new String[p.blockString.length];
	 	 	 for(int i=0;i<p.blockString.length;i++){xsBlock[i]=new String(p.blockString[i]);xBlock[i]=new String(p.blockString[i]);}
	 	 	 switch(stateSpace(xsBlock)){
	 	 	 	 case 0:xBlock[0]=xsBlock[blockN].toString();xBlock[blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[blockN]=xsBlock[blockN].toString();
	 	 	 	        xBlock[0]=xsBlock[1].toString();xBlock[1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[1]=xsBlock[1].toString();	
	 	 	 	        break;	
	 	 	 	 case 1:xBlock[blockN-1]=xsBlock[blockN-2].toString();xBlock[blockN-2]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[blockN-2]=xsBlock[blockN-2].toString();	
	 	 	 	        xBlock[blockN-1]=xsBlock[2*blockN-1].toString();xBlock[2*blockN-1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[2*blockN-1]=xsBlock[2*blockN-1].toString();
	 	 	 	        break;
	 	 	 	 case 2:xBlock[xBlock.length-blockN]=xsBlock[xBlock.length-2*blockN].toString();xBlock[xBlock.length-2*blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[xBlock.length-2*blockN]=xsBlock[xBlock.length-2*blockN].toString();
	 	 	 	        xBlock[xBlock.length-blockN]=xsBlock[xBlock.length-blockN+1].toString();xBlock[xBlock.length-blockN+1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        break;
	 	 	 	 case 3:xBlock[xBlock.length-1]=xsBlock[xBlock.length-2].toString();xBlock[xBlock.length-2]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[xBlock.length-2]=xsBlock[xBlock.length-2].toString();
	 	 	 	        xBlock[xBlock.length-1]=xsBlock[xBlock.length-1-blockN].toString();xBlock[xBlock.length-1-blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        break;
	 	 	 	 case 4:int space=placeSpace(xsBlock);
	 	 	 	        xBlock[space]=xsBlock[space-1].toString();xBlock[space-1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-1]=xsBlock[space-1].toString();
	 	 	 	        xBlock[space]=xsBlock[space+1].toString();xBlock[space+1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+1]=xsBlock[space+1].toString();	
	 	 	 	        xBlock[space]=xsBlock[space+blockN].toString();xBlock[space+blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+blockN]=xsBlock[space+blockN].toString();
	 	 	 	        break;	 	 	 	   
	 	 	 	 case 5:space=placeSpace(xsBlock);
	 	 	 	        xBlock[space]=xsBlock[space+1].toString();xBlock[space+1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+1]=xsBlock[space+1].toString();
	 	 	 	        xBlock[space]=xsBlock[space-blockN].toString();xBlock[space-blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-blockN]=xsBlock[space-blockN].toString();
	 	 	 	        xBlock[space]=xsBlock[space+blockN].toString();xBlock[space+blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+blockN]=xsBlock[space+blockN].toString();	
	 	 	 	        break;
	 	 	 	 case 6:space=placeSpace(xsBlock);
	 	 	 	        xBlock[space]=xsBlock[space-blockN].toString();xBlock[space-blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-blockN]=xsBlock[space-blockN].toString();
	 	 	 	        xBlock[space]=xsBlock[space+blockN].toString();xBlock[space+blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+blockN]=xsBlock[space+blockN].toString();	
	 	 	 	        xBlock[space]=xsBlock[space-1].toString();xBlock[space-1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-1]=xsBlock[space-1].toString();
	 	 	 	        break;
	 	 	 	 case 7:space=placeSpace(xsBlock);
	 	 	 	        xBlock[space]=xsBlock[space-1].toString();xBlock[space-1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-1]=xsBlock[space-1].toString();
	 	 	 	        xBlock[space]=xsBlock[space+1].toString();xBlock[space+1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+1]=xsBlock[space+1].toString();	
	 	 	 	        xBlock[space]=xsBlock[space-blockN].toString();xBlock[space-blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-blockN]=xsBlock[space-blockN].toString();
	 	 	 	        break;
	 	 	 	 case 8:space=placeSpace(xsBlock);
	 	 	 	        xBlock[space]=xsBlock[space-blockN].toString();xBlock[space-blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-blockN]=xsBlock[space-blockN].toString();
	 	 	 	        xBlock[space]=xsBlock[space+blockN].toString();xBlock[space+blockN]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+blockN]=xsBlock[space+blockN].toString();
	 	 	 	        xBlock[space]=xsBlock[space-1].toString();xBlock[space-1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++){if(p.childBlock[i]==null)break;}
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space-1]=xsBlock[space-1].toString();
	 	 	 	        xBlock[space]=xsBlock[space+1].toString();xBlock[space+1]="";
	 	 	 	        if(insertOK(p,xBlock)){
	 	 	 	        	 int i;
	 	 	 	        	 for(i=0;i<4;i++)if(p.childBlock[i]==null)break;
	 	 	 	        	 p.childBlock[i]=new Block(xBlock);
	 	 	 	        	}
	 	 	 	        xBlock[space+1]=xsBlock[space+1].toString();	
	 	 	 	        break;
	 	 	 	}
	 	 	 int i;	 	 	 	
	 	 	 for(i=0;i<p.length();i++){
	 	 	 	     if(complete(p.childBlock[i].blockString,yBlock)){c=1;break;}
	 	 	 	 	}
	 	 	 if(c==1){d++;System.out.println(d);p=p.childBlock[i];break;}
	 	 	 if((q=findSameLayer(d,this))==null){
	 	 	 	 if(p.length()>0&&(d<dm)){
	 	 	 	 	d++;System.out.println(d);p=p.childBlock[0];
	 	 	 	   }
	 	 	 	 else if((q=findSameLayer(d,this))!=null)p=q;
	 	 	 	 else if(d<dm&&(q=findSameLayer(++d,this))!=null){System.out.println(d);p=q;}
	 	 	 	 else return false;
	 	 	 	}
	 	 	 else p=q;
	 	 	}
	 	 if(complete(p.blockString,yBlock)){
	 	 	this.route=new Block[d+1];
	 	 	for(int i=d;i>=0;i--){
	 	 	  this.route[i]=p;
	 	 	  p=findParent(p,this);
	 	 	 }
	 	 	return true;
	 	   }
	 	 else return false;
	 	}
	 	
	  private Block findSameLayer(int d,Block p){
	  	 Block q;
	  	 int l=0;
	  	 if(d==0&&p.access==0)return p;
	  	 else if(d==0)return null;
	  	 for(int i=0;i<p.length();i++)
	  	    if((q=findSameLayer(d-1,p.childBlock[i]))!=null)return q;
	  	 return null;
	  	}
	 	
	  private boolean complete(String []xBlock,String []yBlock){
	 	 for(int i=0;i<xBlock.length;i++)
	 	   if(!xBlock[i].equals(yBlock[i]))return false;
	 	 return true;   
	    }
	  
	  private int stateSpace(String []xBlock){
	 	 int space=placeSpace(xBlock);
	 	 int blockN=(int)Math.sqrt(xBlock.length);
	 	 if(space==0)return 0;
	 	 if(space==blockN-1)return 1;
	 	 if(space==xBlock.length-blockN)return 2;
	 	 if(space==xBlock.length-1)return 3;
	 	 if(space>0&&space<blockN-1)return 4;
	 	 if(space>xBlock.length-blockN&&space<xBlock.length-1)return 7;
	 	 if(space%blockN==0)return 5;
	 	 if((space+1)%blockN==0)return 6;
	 	 return 8;
	 	}
	 
	 private boolean insertOK(Block p,String []xBlock){
	 	 Block q=p;
	 	 if(complete(q.blockString,xBlock))return false;
	 	 while(!complete(q.blockString,this.blockString)){
	 	 	 q=findParent(q,this);
	 	 	 if(complete(q.blockString,xBlock))return false;
	 	 	}
	 	 return true;	
	 	}
	 private int placeSpace(String []xBlock){
	 	 for(int i=0;i<xBlock.length;i++)
	 	   if(xBlock[i].equals(""))return i;
	 	 return 82;
	 	}
	 	
	 private int length(){
	 	 int i=0;
	 	 while(i<this.childBlock.length&&this.childBlock[i]!=null)i++;
	 	 return i;
	 	}
	 	
	 private Block findParent(Block p,Block q){
	 	 Block x;
	 	 if(q.length()<=0)return null;
	 	 for(int i=0;i<q.length();i++)
	 	   if(q.childBlock[i]==p)return q;
	 	 for(int i=0;i<q.length();i++){
	 	 	 if((x=findParent(p,q.childBlock[i]))!=null)return x;
	 	 	}
	 	 return null;	
	 	}
	 
	 public void displayRoute(){
	 	 System.out.println("The route is");
	 	 for(int i=0;i<this.route.length&&this.route[i]!=null;i++) 
	 	    this.route[i].display();
	 	}
	 
	 public void display(){
	 	 for(int i=0;i<this.blockString.length;i++){
	 	   System.out.print(this.blockString[i]+" ");
	 	   if(this.blockString[i].equals(""))System.out.print(" ");
	 	   if((i+1)%((int)Math.sqrt(this.blockString.length))==0)System.out.println();
	 	  }
	 	 System.out.println();  
	 	}
	 	
	 public int numBlock(){
	 	 return this.blockString.length;
	 	}
	 	
	}
	
class testBlock{
	 public static void main(String args[]){
	 	 Block x;
	 	 boolean t;
	 	 String []xBlock=new String[9];
	 	 String []yBlock=new String[9];
	 	 xBlock[0]="8";xBlock[1]="4";xBlock[2]="7";xBlock[3]="2";xBlock[4]="";
	 	 xBlock[5]="3";xBlock[6]="6";xBlock[7]="1";xBlock[8]="5";
	 	 yBlock[0]="1";yBlock[1]="2";yBlock[2]="3";yBlock[3]="8";yBlock[4]="";
	 	 yBlock[5]="4";yBlock[6]="7";yBlock[7]="6";yBlock[8]="5";   
	 	 x=new Block(xBlock);
	 	 System.out.print((t=x.createBlockTree(yBlock,47)));
	 	 if(t)x.displayRoute();
	 	}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
毛片av一区二区三区| 天使萌一区二区三区免费观看| 国产精品一区二区男女羞羞无遮挡| 91精品国产综合久久精品| 亚洲宅男天堂在线观看无病毒| 欧美私模裸体表演在线观看| 日韩精品国产欧美| 久久综合久久综合久久综合| 不卡视频一二三| 亚洲一区在线免费观看| 日韩一区二区在线看| 国产露脸91国语对白| 国产精品免费观看视频| 欧美日韩综合在线| 国内精品伊人久久久久av影院| 国产精品女主播av| 欧美久久久久久久久中文字幕| 加勒比av一区二区| 亚洲欧洲日韩综合一区二区| 欧美美女视频在线观看| 国产乱子轮精品视频| 一区二区三区高清在线| 日韩女优视频免费观看| 国产69精品久久久久777| 亚洲一区二区三区四区在线| 精品毛片乱码1区2区3区| 91亚洲资源网| 精品一区二区三区在线播放| 中文字幕在线观看一区| 7777精品伊人久久久大香线蕉的| 国产精品综合av一区二区国产馆| 亚洲另类春色国产| 精品国产亚洲在线| 色噜噜狠狠成人中文综合| 精品亚洲成a人| 亚洲一区二区四区蜜桃| 国产人久久人人人人爽| 欧美日韩亚洲不卡| 99免费精品视频| 国内精品在线播放| 天天色综合成人网| 亚洲精品免费在线观看| 国产午夜精品久久| 欧美一区二区三区免费视频| 色综合 综合色| 国产91精品精华液一区二区三区| 日本少妇一区二区| 一区二区三区成人| 国产精品电影一区二区三区| 精品国产乱码久久久久久浪潮| 欧洲一区在线电影| 不卡免费追剧大全电视剧网站| 久久se这里有精品| 天堂av在线一区| 亚洲在线中文字幕| 亚洲精品乱码久久久久久 | 亚洲综合成人在线视频| 国产人成一区二区三区影院| 精品国产sm最大网站免费看| 欧美日韩国产中文| 欧美午夜精品久久久| 91丨porny丨在线| 91女厕偷拍女厕偷拍高清| 懂色av一区二区三区免费观看| 美国十次了思思久久精品导航| 午夜视黄欧洲亚洲| 亚洲第一久久影院| 亚洲成人免费观看| 午夜精品久久久久| 五月婷婷激情综合| 日本成人在线视频网站| 免费不卡在线视频| 日本在线不卡视频一二三区| 婷婷六月综合网| 午夜天堂影视香蕉久久| 日本美女视频一区二区| 麻豆精品精品国产自在97香蕉 | 日本大胆欧美人术艺术动态| 亚洲国产精品一区二区尤物区| 一级特黄大欧美久久久| 亚洲一区二区三区四区五区中文 | 欧美一区二区三级| 欧美不卡在线视频| 久久久噜噜噜久久中文字幕色伊伊| 久久综合九色欧美综合狠狠| 国产亚洲一区字幕| 亚洲三级免费电影| 五月综合激情婷婷六月色窝| 蜜乳av一区二区| 国产麻豆午夜三级精品| 成人涩涩免费视频| 91成人国产精品| 欧美一级精品大片| 国产午夜精品久久久久久免费视| 国产精品国产成人国产三级| 亚洲综合视频在线观看| 美女视频免费一区| 成人精品免费看| 欧美视频在线观看一区二区| 日韩一级二级三级| 国产精品无遮挡| 亚洲午夜激情av| 国产综合成人久久大片91| 91亚洲男人天堂| 日韩欧美一区二区免费| 国产欧美日产一区| 亚洲成人黄色小说| 国产福利91精品一区二区三区| 一本色道久久综合亚洲精品按摩| 日韩亚洲电影在线| 亚洲三级小视频| 久久国产尿小便嘘嘘尿| 99在线精品观看| 欧美草草影院在线视频| 自拍偷拍国产亚洲| 黄一区二区三区| 在线观看日韩电影| 久久久99久久| 日本伊人午夜精品| 99vv1com这只有精品| 日韩一卡二卡三卡| 一级女性全黄久久生活片免费| 韩国av一区二区三区四区| 欧美午夜一区二区| 中文字幕免费不卡在线| 免费亚洲电影在线| 日本乱人伦aⅴ精品| 国产欧美va欧美不卡在线| 日韩在线a电影| 在线观看网站黄不卡| 国产日产精品1区| 蜜桃精品在线观看| 欧美色综合网站| 日韩毛片精品高清免费| 国产伦精一区二区三区| 欧美一区二区三区四区久久| 亚洲丝袜制服诱惑| 成人蜜臀av电影| 国产色产综合色产在线视频| 日韩福利电影在线观看| 在线免费一区三区| 中文字幕欧美一区| 国产盗摄一区二区三区| 精品免费99久久| 久久精品国产一区二区三| 久久天堂av综合合色蜜桃网| 亚洲午夜羞羞片| 91精彩视频在线| 中文字幕一区二区三区视频| 国v精品久久久网| 久久一日本道色综合| 老司机午夜精品| 欧美一区二区在线看| 午夜电影一区二区三区| 在线观看不卡一区| 一区二区三区**美女毛片| 91欧美一区二区| 综合分类小说区另类春色亚洲小说欧美| 国产ts人妖一区二区| 国产日韩欧美亚洲| 国产盗摄女厕一区二区三区| 久久久久久9999| 国产99久久久国产精品免费看| 国产女人18毛片水真多成人如厕 | 国产精品嫩草影院com| 国产精品伊人色| 国产午夜精品美女毛片视频| 国产精品一区二区三区乱码| 国产欧美日韩麻豆91| 成人永久看片免费视频天堂| 国产精品久久久久婷婷二区次| 国产 欧美在线| 亚洲人成精品久久久久久| 色综合久久久久| 亚洲va欧美va人人爽午夜| 欧美高清视频不卡网| 麻豆视频一区二区| 国产日韩欧美精品电影三级在线| 国产jizzjizz一区二区| 国产精品久久久久一区| 在线免费观看日本欧美| 午夜视频在线观看一区二区 | 亚洲激情图片一区| a4yy欧美一区二区三区| 亚洲伦理在线精品| 欧美在线观看一二区| 免费观看成人鲁鲁鲁鲁鲁视频| 2023国产精品| 97久久超碰国产精品| 亚洲第一综合色| 亚洲精品在线观看视频| 99综合电影在线视频| 天使萌一区二区三区免费观看| 精品国产91九色蝌蚪| 9人人澡人人爽人人精品| 亚洲r级在线视频| 久久久91精品国产一区二区精品| 91色porny| 久久99精品久久久久久动态图| 国产精品九色蝌蚪自拍|