1004 四子連棋
時間限制: 1 s
空間限制: 128000 kb
題目等級 : ** gold
在乙個4*4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋,任意一方可以先走,如果某個時刻使得任意一種顏色的棋子形成四個一線(包括斜線),這樣的狀態為目標棋局。●○
●○●○
●●○●
○○●○
輸入描述 input description
從檔案中讀入乙個4*4的初始棋局,黑棋子用b表示,白棋子用w表示,空格地帶用o表示。
輸出描述 output description
用最少的步數移動到目標棋局的步數。
樣例輸入 sample input
bwbo
wbwb
bwbw
wbwo
樣例輸出 sample output
資料範圍及提示 data size & hint
hi
1 #include2 #include3 #include4 #include5 #include6
using
namespace
std;
7int map[6][6];8
int move[5]=;
9int
bor;
10string _;int x[3],y[3],ans=0x7fffffff;11
bool can(int x,int y,int
z)12
15bool
check()
1625
bool dfs(int x1,int y1,int who,int x2,int y2,int
step)
2632
intnext_x1,next_x2,next_y1,next_y2;
33for(int i=0;i<4;i++)
3448
if(can(next_x2,next_y2,who))
4956}57
return0;
58}59int
main()
6074}75
}76for(bor=1;;bor++)
7781 printf("%d"
,bor);
82 }
codevs 1004 四子連棋
1004 四子連棋 時間限制 1 s 空間限制 128000 kb 題目等級 gold題解 題目描述description 在乙個4 4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋...
codevs 1004 四子連棋
題目描述 description 在乙個4 4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋,任意一方可以先走,如果某個時刻使得任意一種顏色的棋子形成四個一線 包括斜線 這樣的狀態為...
Codevs 1004 四子連棋
時間限制 1 s 空間限制 128000 kb 題目等級 gold 在乙個4 4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋,任意一方可以先走,如果某個時刻使得任意一種顏色的棋子形...