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

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

?? status.java.bak

?? 八數碼問題和艦科技符合時刻記得和反饋記得和反饋及時反饋記得是
?? BAK
字號:
package zdg;
//status類用來存儲某一個狀態元素
//import java.util.ArrayList;

public class Status implements Cloneable  {
	private int status[][];
	//用數組存儲當前的狀態(依次編號為123456789個位置,其中值為零的位置表示空)
	private int depth;
	//當前狀態的深度值,以便求解cost
	private int now_cost;
	//有當前狀態到目的狀態的代價(),用來求cost
	private int cost;
	//當前狀態到目的狀態的估計代價,用來決定下次搜索的狀態
	
	public Status clone()  
	{
		Status result=null;
		try 
		{
			result = (Status)super.clone();
			result.status=status.clone();
		} catch (CloneNotSupportedException e) {
			// TODO Auto-generated catch block
			System.out.println("不能復制");
		} 
		
		return result; 
		} 

	public void setStatus(int[][] array)
	{
		this.status=array;
		
	}
	public int[][] getStatus()
	{
		return this.status;
	}
	public void printStatus()
	{
		for(int i=0;i<3;i++)
		{
			for(int j=0;j<3;j++)
				{
				   System.out.print(this.status[i][j]+"  ");
				}
			System.out.println();
		}
		
	}
	public int getCost(Status finish)
	{
		int cost=0;
		for(int i=0;i<3;i++)
		{
			for(int j=0;j<3;j++)
				{
				if(this.status[i][j]!=finish.getStatus()[i][j])
				    cost++;
				}
			
		}
        return cost;		
	}
	public void setCost(int cost)
	{
		this.cost=cost;
	}

	public int[] getLoc()
	{//獲得0的坐標,以判斷移動規則
		int loc[]={0,0};
		for(int i=0;i<3;i++)
			{
			for(int j=0;j<3;j++)
			 {
				if(this.status[i][j]==0)
					{
					loc[0]=i;
					loc[1]=j;
					//System.out.println("當前空格位置:"+i+"   "+j);
					}
								
			 }
			
			}
		return loc;
	}
	public int getValueByLoc(int row,int col)
	{//根據位置獲得需要交換的非零數據的值
		return this.status[row][col];
	}
	public void setValueByLoc(int row,int col,int value)
	{
		this.status[row][col]=value;
	}
	public Status upMove() 
	{//當前狀態空格上移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動位置的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		Status after_move=new Status();
		
		temp=this.getLoc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.getValueByLoc(row-1, col);
		this.setValueByLoc(row, col, value);
		this.setValueByLoc(row-1, col, 0);
		after_move.setStatus(this.status);
		return after_move;
		
	}
	/*
	public Status upMove() 
	{//當前狀態空格上移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動位置的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		Status after_move=new Status();
		Status temp_status=new Status();
		temp_status=(Status)this.clone();
		temp_status.printStatus();
				
		//保存之前的狀態
		System.out.println("temp_status "+temp_status.toString());
		System.out.println("this "+this.toString());
		System.out.println("temp_status.status "+temp_status.status.toString());
		System.out.println("this.staut "+this.status.toString());
		if(temp_status==this)//判斷地址是否相同
		{
			System.out.println("dizhixiaongtong ");
		}
		else {System.out.println("butong");}
		System.out.println("qian");
		this.printStatus();
		temp=temp_status.getLoc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動(對temp_status移動)
		value=temp_status.getValueByLoc(row-1, col);
		temp_status.setValueByLoc(row, col, value);
		temp_status.setValueByLoc(row-1, col, 0);
		if(temp_status==this)//判斷地址是否相同
		{
			System.out.println("dizhixiaongtong ");
		}
		else {System.out.println("butong");}
		System.out.println("temp_status");
		temp_status.printStatus();
		System.out.println("this");
		this.printStatus();
		after_move.setStatus(temp_status.status);
		
		System.out.println("hou");
		after_move.printStatus();
		System.out.println("yuan");
		this.printStatus();
		//this=temp_status;
		return after_move;
		
	}
	*/
	public Status downMove()
	{
		//當前狀態空格下移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		Status after_move=new Status();
		int[][] temp_status;
		temp_status=this.status;
		temp=this.getLoc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.getValueByLoc(row+1, col);
		this.setValueByLoc(row, col, value);
		this.setValueByLoc(row+1, col, 0);
		after_move.setStatus(this.status);
		return after_move;
	}
	public Status leftMove()
	{//當前狀態空格左移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		int[][] temp_status;
		temp_status=this.status;
		Status after_move=new Status();
		temp=this.getLoc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.getValueByLoc(row, col-1);
		this.setValueByLoc(row, col, value);
		this.setValueByLoc(row, col-1, 0);
		after_move.setStatus(this.status);
		return after_move;	
	}
	public Status rightMove()
	{//當前狀態空格右移,返回另一個狀態
		
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		int[][] temp_status;
		temp_status=this.status;
		Status after_move=new Status();
		temp=this.getLoc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.getValueByLoc(row, col+1);
		this.setValueByLoc(row, col, value);
		this.setValueByLoc(row, col+1, 0);
		after_move.setStatus(this.status);
		return after_move;	
	}
	/*
	public int[][] up_move()
	{//當前狀態空格上移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		temp=this.get_Loc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.get_Value_By_Loc(row-1, col);
		this.set_Value_By_Loc(row, col, value);
		this.set_Value_By_Loc(row-1, col, 0);
		return this.status;	
		
	}
	public int[][] dowm_move()
	{
		//當前狀態空格下移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		temp=this.get_Loc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.get_Value_By_Loc(row+1, col);
		this.set_Value_By_Loc(row, col, value);
		this.set_Value_By_Loc(row+1, col, 0);
		return this.status;	
	}
	/*
	public int[][] left_move()
	{//當前狀態空格左移,返回另一個狀態
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		temp=this.get_Loc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.get_Value_By_Loc(row, col-1);
		this.set_Value_By_Loc(row, col, value);
		this.set_Value_By_Loc(row, col-1, 0);
		return this.status;	
	}
	
	
	public int[][] right_move()
	{//當前狀態空格右移,返回另一個狀態
		
		int row=0;int col=0;
		int value=-1;//定義臨時變量存儲要移動的非零值
		int temp[]=new int[2];//定義臨時數組存放空格位置的坐標
		temp=this.get_Loc();
		row=temp[0];//獲得空格的行位置
		col=temp[1];
		//數據的移動
		value=this.get_Value_By_Loc(row, col+1);
		this.set_Value_By_Loc(row, col, value);
		this.set_Value_By_Loc(row, col+1, 0);
		return this.status;	
	}
	*/
	public boolean isFinish(Status finish)
	{//判斷當前轉臺是不是目的狀態
		if(this.status.equals(finish.getStatus()))
	        return true;
		else
			return false;
	
	}
	public boolean isUp()
	{//獲得當前狀態的行位置,并判斷是否能夠上移
		int row=0;
		row=this.getLoc()[0];
		if(row==0)
			return false;
		else
			return true;
	}
	public boolean isDown()
	{//獲得當前狀態的行位置,并判斷是否能夠下移
		int row=0;
		row=this.getLoc()[0];
		if(row==2)
			return false;
		else
			return true;
		
	}public boolean isLeft()
	{//當前狀態是否能夠左移
		int col=0;
		col=this.getLoc()[1];
		if(col==0)
			return false;
		else
			return true;
	}
	public boolean isRight()
	{//當前狀態是否能夠右移
		int col=0;
		col=this.getLoc()[1];
		
		System.out.println(col);
		if(col==2)
			return false;
		else
			return true;
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
67194成人在线观看| 一区二区在线电影| 亚洲天堂中文字幕| 亚洲成av人片观看| a亚洲天堂av| 日韩一区二区免费高清| 亚洲天堂精品视频| 国产美女av一区二区三区| 91成人免费在线视频| 久久综合色播五月| 天堂影院一区二区| 97se亚洲国产综合自在线不卡| 717成人午夜免费福利电影| 亚洲视频你懂的| 国产精品一级二级三级| 日韩视频免费观看高清完整版| 日韩美女视频19| 国产高清成人在线| 欧美mv日韩mv国产网站app| 亚洲午夜私人影院| 色猫猫国产区一区二在线视频| 久久免费美女视频| 久久国产精品99精品国产| 欧美专区亚洲专区| 亚洲男人都懂的| 99视频一区二区三区| 久久久久久97三级| 国产在线精品不卡| 日韩精品一区二区三区在线播放 | 韩国中文字幕2020精品| 欧美裸体bbwbbwbbw| 一区二区三区资源| 色综合天天狠狠| 亚洲欧美日韩人成在线播放| 成人精品国产福利| 中文一区二区在线观看| 国产精品888| 国产精品毛片a∨一区二区三区| 国产东北露脸精品视频| 国产色产综合色产在线视频| 国产一区视频在线看| 久久精品在这里| 成人视屏免费看| 中文字幕一区二区在线播放| 成人黄色小视频| 亚洲欧美韩国综合色| 一本大道久久a久久综合婷婷| 亚洲婷婷综合久久一本伊一区| 91麻豆自制传媒国产之光| 一区二区三区中文字幕| 在线看国产一区二区| 日本怡春院一区二区| 欧美变态口味重另类| 国产a区久久久| 亚洲桃色在线一区| 在线成人免费观看| 九色综合狠狠综合久久| 日韩毛片在线免费观看| 91污片在线观看| 亚洲已满18点击进入久久| 91精品国产日韩91久久久久久| 美女视频黄a大片欧美| 国产拍欧美日韩视频二区| 波多野结衣亚洲一区| 亚洲国产欧美在线人成| 久久综合九色综合欧美亚洲| 不卡电影免费在线播放一区| 亚洲欧美国产高清| 日韩一区二区高清| 成人激情小说乱人伦| 午夜视频在线观看一区二区三区| 日韩视频免费观看高清在线视频| 成人少妇影院yyyy| 亚洲h动漫在线| 国产亚洲欧美色| 欧美三级一区二区| 国产精品一区二区男女羞羞无遮挡| 国产精品国产三级国产普通话三级 | 久久国产日韩欧美精品| 中文字幕av一区二区三区高| 欧美曰成人黄网| 国产成人午夜视频| 视频在线观看一区| 国产精品美女www爽爽爽| 欧美一区二区网站| 99在线热播精品免费| 麻豆视频观看网址久久| 一区二区三区欧美视频| 中文字幕va一区二区三区| 日韩欧美在线123| 欧洲色大大久久| 波多野结衣中文字幕一区| 久久超碰97中文字幕| 亚洲电影视频在线| 亚洲免费观看高清| 国产精品乱码人人做人人爱 | 国产不卡视频在线观看| 日本欧美久久久久免费播放网| 国产精品久久久久永久免费观看 | 亚洲一区二区综合| 中文字幕欧美区| 久久午夜色播影院免费高清| 7777精品伊人久久久大香线蕉完整版 | 成人黄色一级视频| 国产在线不卡视频| 麻豆91精品91久久久的内涵| 亚洲成人av电影在线| 亚洲蜜臀av乱码久久精品| 中文字幕乱码日本亚洲一区二区| 日韩欧美另类在线| 日韩一级在线观看| 欧美一级二级三级乱码| 欧美卡1卡2卡| 91.com在线观看| 欧美久久久影院| 欧美高清视频一二三区| 欧美日韩不卡一区| 7777精品久久久大香线蕉 | 日韩欧美国产高清| 欧美成人vr18sexvr| 欧美电影免费观看高清完整版| 91精品欧美综合在线观看最新| 欧洲色大大久久| 欧美私模裸体表演在线观看| 色视频成人在线观看免| 91国产丝袜在线播放| 91久久精品日日躁夜夜躁欧美| 日本道在线观看一区二区| 欧美综合一区二区| 欧美精品日韩一本| 欧美成人一区二区三区片免费| 精品黑人一区二区三区久久| 久久亚洲一区二区三区明星换脸 | 色噜噜狠狠成人中文综合| 91国偷自产一区二区三区成为亚洲经典 | 亚洲图片自拍偷拍| 丝袜亚洲精品中文字幕一区| 日韩影院精彩在线| 国产综合久久久久久久久久久久| 国产一区二区毛片| 不卡一区在线观看| 欧美在线观看18| 日韩精品中文字幕在线不卡尤物| 2014亚洲片线观看视频免费| 国产精品久久久久永久免费观看| 亚洲人成精品久久久久| 日韩综合在线视频| 丰满放荡岳乱妇91ww| 91官网在线免费观看| 日韩午夜精品电影| 国产精品对白交换视频 | 天天综合色天天| 国产一区欧美日韩| 91成人看片片| 久久亚洲春色中文字幕久久久| 亚洲日本va午夜在线电影| 丝袜美腿亚洲一区二区图片| 国产精品99久久久久久宅男| 欧美在线一区二区三区| 久久久久久久久久久久久女国产乱| 国产精品久久久久一区二区三区 | 中文字幕一区在线观看| 手机精品视频在线观看| 成人a级免费电影| 欧美一区二区二区| 午夜国产精品一区| 国产久卡久卡久卡久卡视频精品| 色国产综合视频| 久久精品亚洲国产奇米99| 亚洲图片自拍偷拍| av不卡在线观看| 欧美精品一区二区在线播放| 亚洲国产精品综合小说图片区| 国产乱人伦偷精品视频不卡| 欧美天堂一区二区三区| 中文字幕免费观看一区| 麻豆91免费观看| 欧美三区在线观看| 中文字幕在线不卡| 国产成人8x视频一区二区| 日韩片之四级片| 亚洲不卡一区二区三区| 99久久免费视频.com| 久久青草国产手机看片福利盒子 | 欧美午夜寂寞影院| 欧美国产欧美亚州国产日韩mv天天看完整| 手机精品视频在线观看| 欧美视频你懂的| 亚洲三级理论片| 99r精品视频| 国产精品灌醉下药二区| 国产福利91精品一区| 精品成人在线观看| 久久成人麻豆午夜电影| 91精品国产综合久久久蜜臀图片| 亚洲一区二区欧美| 在线观看精品一区| 亚洲自拍偷拍综合| 欧美性一区二区| 亚洲国产日韩精品|