亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

八數碼難題

2019-11-14 11:42:40
字體:
來源:轉載
供稿:網友

題目描述

在3×3的棋盤上,擺有八個棋子,每個棋子上標有1至8的某一數字。棋盤中留有一個空格,空格用0來表示???#26684;周圍的棋子可以移到空格中。要求解的問題是:給出一種初始布局(初始狀態)和目標布局(為了使題目簡單,設目標狀態為123804765),找到一種最少步驟的移動方法,實現從初始布局到目標布局的轉變。

輸入輸出格式

輸入格式:

輸入初試狀態,一行九個數字,空格用0表示

輸出格式:

只有一行,該行只有一個數字,表示從初始狀態到目標狀態需要的最少移動次數(測試數據中無特殊無法到達目標狀態數據)

輸入輸出樣例

輸入樣例#1:
283104765輸出樣例#1:
4

#PRagma GCC optimize("O2")#include<iostream>#include<cstdio>#include<cstring>#include<set>typedef int State[9];using namespace std;State gold={1,2,3,8,0,4,7,6,5}, st[1000000];int dist[1000000], dx[4] = { 1,-1,0,0 }, dy[4] = { 0,0,-1,1 };set<int>vis;bool Try(int s) {	int v = 0;	for (int i = 0; i < 9; i++)v = v * 10 + st[s][i];	if (vis.count(v))return 0;	vis.insert(v);	return 1;}void init(){	vis.clear();}int bfs(){	init();	int front = 1, rear = 2;	while (front<rear)	{		State &s = st[front];		if (memcmp(s, gold, sizeof(s)) == 0)return front;		int z;		for (z = 0; z<9; z++)if (!s[z])break;		int x = z / 3, y = z % 3;		for (int i = 0; i<4; i++)		{			int newx = x + dx[i], newy = y + dy[i];			int newz = newx * 3 + newy;			if (newx >= 0 && newx<3 && newy >= 0 && newy<3)			{				State &t = st[rear];				memcpy(&t, &s, sizeof(s));				t[newz] = s[z];				t[z] = s[newz];				dist[rear] = dist[front] + 1;				if (Try(rear))rear++;			}		}		front++;	}	return -1;}int main(){	for (int i = 0; i<9; i++)st[1][i]=getchar()-'0';	int ans = bfs(); 	if (ans>0)printf("%d/n", dist[ans]);	else cout << -1 << endl;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美韩日一区二区| xxx一区二区| 在线播放精品一区二区三区| 日本一区二三区好的精华液| 日韩中文字幕在线播放| 精品毛片网大全| 亚洲自拍偷拍视频| 日韩av在线精品| 亚洲成人激情在线观看| 北条麻妃一区二区在线观看| 久久影视免费观看| 亚洲第一综合天堂另类专| 欧美成人免费播放| 性欧美xxxx交| 欧美黄色免费网站| 久久久久99精品久久久久| 亚洲午夜久久久影院| 68精品国产免费久久久久久婷婷| 欧美性猛交xxxx| 亚洲日本aⅴ片在线观看香蕉| 欧美精品一二区| 91亚洲精品在线| 国产一区二区三区在线免费观看| 国产精品伦子伦免费视频| 国产免费一区二区三区在线观看| 亚洲最大av网| 日韩av在线一区二区| 欧美一级在线播放| 最新69国产成人精品视频免费| 亚洲第一页自拍| 国产精品偷伦免费视频观看的| 国产精品美女网站| 海角国产乱辈乱精品视频| 亚洲欧美日韩久久久久久| 日韩欧美在线视频| 久久成年人免费电影| 成人性生交大片免费看视频直播| 欧美一区二区三区四区在线| 国产+人+亚洲| 最近中文字幕2019免费| 色一区av在线| 欧美性生交大片免费| 精品亚洲精品福利线在观看| 亚洲精品国产精品国自产在线| 久久国产精品久久久久久久久久| 欧美—级a级欧美特级ar全黄| xxxx欧美18另类的高清| 国产偷亚洲偷欧美偷精品| 38少妇精品导航| 色婷婷久久av| 久久99热精品这里久久精品| 91久久久久久久久| 日韩视频第一页| 国产欧美最新羞羞视频在线观看| 精品美女永久免费视频| 国产成人精品久久亚洲高清不卡| 国产精品一二区| 欧美猛男性生活免费| 欧美疯狂xxxx大交乱88av| 国产亚洲精品久久久久久| 日韩欧美亚洲一二三区| 久久久精品久久| 日本精品久久久| 欧美性生交大片免费| 97成人在线视频| 国产99久久精品一区二区| 精品网站999www| 韩日精品中文字幕| 精品亚洲国产视频| 日韩中文字幕在线精品| 国产91在线播放| 国产精品欧美亚洲777777| 日韩在线中文字幕| 欧美日韩国产黄| 亚洲最新av在线网站| 亚洲人成啪啪网站| 亚洲成色777777在线观看影院| 91精品国产沙发| 国产精品福利小视频| 亚洲精品视频在线观看视频| 成人免费激情视频| 中文字幕日韩精品有码视频| 欧美激情综合色综合啪啪五月| 久久精品中文字幕免费mv| 国产精品久久久久久久9999| 亚洲欧洲高清在线| 亚洲自拍偷拍第一页| 久久久久北条麻妃免费看| 韩国三级电影久久久久久| 欧美成人自拍视频| 成人免费看吃奶视频网站| 久久精品久久久久电影| 中文字幕精品久久久久| 亚洲va欧美va国产综合剧情| 黄色成人在线播放| 亚洲第一网站免费视频| 精品国内产的精品视频在线观看| 奇米影视亚洲狠狠色| 亚洲人午夜精品免费| 国产精品91免费在线| 精品无人国产偷自产在线| 亚洲欧美另类在线观看| 成人激情在线观看| 欧美精品生活片| 久久影视电视剧免费网站清宫辞电视| 青草青草久热精品视频在线观看| 亚洲成年人影院在线| 国产在线拍揄自揄视频不卡99| 久久影视电视剧免费网站| 欧美激情在线观看| 亚洲毛片在线观看.| 欧美三级免费观看| 欧美视频免费在线观看| 亚洲а∨天堂久久精品9966| 色爱av美腿丝袜综合粉嫩av| 国产在线精品成人一区二区三区| 中文字幕亚洲欧美| 亚洲天堂av在线免费观看| 国产一区深夜福利| 日韩精品免费综合视频在线播放| 日韩在线观看免费全| 欧美伊久线香蕉线新在线| 欧美肥臀大乳一区二区免费视频| 亚洲精品成人免费| 日韩中文字幕免费视频| 久久久精品久久| 国产精品自拍网| 久久国产精品视频| 欧美激情久久久| 日韩av手机在线观看| 国产精品一区二区电影| 欧美极品少妇xxxxⅹ喷水| 精品久久久久久中文字幕大豆网| 欧美一区三区三区高中清蜜桃| 亚洲欧洲一区二区三区在线观看| 亚洲人成网站999久久久综合| 亚洲r级在线观看| 久久99精品久久久久久青青91| 精品女同一区二区三区在线播放| 欧美日韩在线视频一区二区| 成人黄色激情网| 1769国内精品视频在线播放| 欧美高清视频一区二区| 国语自产精品视频在免费| 成人在线播放av| 国产成人精品亚洲精品| 国产成人福利夜色影视| 久久综合九色九九| 日日噜噜噜夜夜爽亚洲精品| 欧美电影在线播放| 欧美小视频在线| 日韩在线视频免费观看高清中文| 日韩免费看的电影电视剧大全| 亚洲91av视频| 国产成人精品视| 成人欧美一区二区三区黑人| 97avcom| 久久精品一区中文字幕| 国产一区二区三区三区在线观看| 久久久av一区| 2019av中文字幕| 亚洲欧美变态国产另类| 日韩在线视频网站| 懂色av影视一区二区三区|