2x3移動格仔和九宮格問題

2021-08-14 05:10:19 字數 1211 閱讀 7259

2x3移動格仔:

2×3=6個方格中放入abcde五個字母,右下角的那個格空著。如圖所示。

和空格子相鄰的格仔中的字母可以移動到空格中,比如,圖中的c和e就可以移動,移動後的局面分別是:

a bd e c

a b c

d e為了表示方便,我們把6個格仔中字母配置用乙個串表示出來,比如上邊的兩種局面分別表示為:

ab*dec

abcd*e

題目的要求是:請編寫程式,由使用者輸入若干表示局面的串,程式通過計算,輸出是否能通過對初始狀態經過若干次移動到達該狀態。可以實現輸出1,否則輸出0。初始狀態為:abcde*

使用者輸入的格式是:先是乙個整數n,表示接下來有n行狀態。程式輸出也應該是n行1或0

例如,使用者輸入:

3abcde*

ab*dec

caed*b

則程式應該輸出:11

0 //#include

//#include

//#include

//#include

//#include

//using namespace std;

//string a,s="abcde*";

//mapmap;

//int dx= ;

//int dy= ;

//int bfs()

////            }

//        }

//    }

//    return 0;

//}//int main()

////

九宮格問題:

編號為1 ~ 8的8個正方形滑塊被擺成3行3列(有乙個格仔留空),每次可以把與空格相鄰的滑塊移到空格中,而它原來的位置變為空格。給定初始局面和目標局面(用0表示空格),編寫**計算出最少移動的步數。

#include

#include

#include

#include

#include

using namespace std;

string a,s;

int dist[1000000];

int dx= ;

int dy= ;

int bfs()}}

step++;

}return -1;

}int main()

return 0;

}

九宮格問題

include include stl 雙端佇列容器 include include pos.h using namespace std ofstream fout sudoku.txt deque d int lay deque d int checkout pos p,int n int sud...

2016 11 25 九宮格問題

題目大意 數獨規則點這裡 注意可以有格仔是空的。空的格仔用 表示。方法一.位運算 知道了這個之後,就很好辦啦。因為數字只有九個,而且不允許重複出現。直接想到位運算!表示當前數字,只需要把1向右移動當前數字位。然後設定乙個狀態變數,儲存當前有多少數字出現過。把他們相與,如果為0說明此數字還沒出現過,就...

九宮格為問題

在 射鵰英雄傳 中黃蓉曾破解九宮格,口訣 戴九履一,左三右七,二四有肩,八六為足,五居 有口訣的!一居上行正 依次斜填莫相忘,上出框時向下放,右出框時向左放,排重編在下格放,右上排重乙個樣。重排九宮 有兩種玩法 第一種是在在3 3方格盤上,是把1至8八個小木塊隨意擺放,每一空格其周圍的數字可移至空格...