BZOJ 1085 騎士精神 A

2021-07-14 17:27:16 字數 948 閱讀 4427

description

在乙個5×5的棋盤上有12個白色的騎士和12個黑色的騎士, 且有乙個空位。在任何時候乙個騎士都能按照騎士的走法(它可以走到和它橫座標相差為1,縱座標相差為2或者橫座標相差為2,縱座標相差為1的格仔)移動到空位上。

給定乙個初始的棋盤,怎樣才能經過移動變成如下目標棋盤: 為了體現出騎士精神,他們必須以最少的步數完成任務。

input

第一行有乙個正整數t(t<=10) 表示一共有t組資料 接下來有t個5*5的矩形。0表示白色騎士1表示黑色騎士,*表示空位。(每組資料間有空行)

output

對每組資料都輸出一行。如果能在15不以內(包括15)到達目標狀態,則輸出步數,否則輸出「-1」沒有引號。

#include#include#includeusing namespace std;

char map1[5][5];

int dx[8]=;

int dy[8]=;

int ans[5][5]=;

int ans1;

int map[5][5];

int judge()

}return 1;

}int fun(int now,int end)

}if((count+now)>end)

return 0;

else

return 1;

}void dfs(int nowx,int nowy,int now,int end)

}for(int i=0;i<8;i++)

}}int main()

else

map[i][j]=map1[i][j]-'0';}}

int i;

for(i=1;i<=15;i++)

}if(i==16)

printf("-1\n");}}

}

bzoj 1085 騎士精神

time limit 10 sec memory limit 162 mb submit 1461 solved 796 submit status discuss 在乙個5 5的棋盤上有12個白色的騎士和12個黑色的騎士,且有乙個空位。在任何時候乙個騎士都能按照騎士的走法 它可以走到和它橫座標相差...

bzoj1085 騎士精神 A

在乙個5 5的棋盤上有12個白色的騎士和12個黑色的騎士,且有乙個空位。在任何時候乙個騎士都能按照騎士的走法 它可以走到和它橫座標相差為1,縱座標相差為2或者橫座標相差為2,縱座標相差為1的格仔 移動到空位上。給定乙個初始的棋盤,怎樣才能經過移動變成如下目標棋盤 為了體現出騎士精神,他們必須以最少的...

BZOJ 1085 騎士精神

time limit 10 sec memory limit 162 mb submit 3229 solved 1908 submit status discuss description 在乙個5 5的棋盤上有12個白色的騎士和12個黑色的騎士,且有乙個空位。在任何時候乙個騎士都能按照騎士的走法...