題目描述
你玩過華容道的遊戲嗎?這是個類似的,但更簡單的遊戲。看下面 3 x 2 的格仔
+---+---+---+在其中放5張牌,其中a代表關羽,b代表張飛,* 代表士兵。還有乙個格仔是空著的。| a | * | * |
+---+---+---+
| b | | * |
+---+---+---+
你可以把一張牌移動到相鄰的空格中去(對角不算相鄰)。
遊戲的目標是:關羽和張飛交換位置,其它的牌隨便在**都可以。
輸入
輸入存在多組測試資料,對於每組測試資料:
輸入兩行6個字元表示當前的局面
輸出
對於每組測試資料輸出乙個整數表示答案
樣例輸入
copy
* a**ba b
***
樣例輸出 copy
17題解:12
1、因為棋盤只有兩行,可以把他處理成一行處理(bfs的時候方便標記這個棋盤狀態),注意隔離邊界(用#將第一行和第二行隔離)
2、用set集合記錄走過的每乙個狀態,標記走過的棋盤狀態
3、從空格位置開始搜尋,目標狀態是棋盤中a、b位置互換
#include#include#include
#include
using
namespace
std;
int dir[4]=;//
左右下上
struct
node
a,b,k;
void
bfs()
if(se.count(ss)==0)//
避免往回走,標記棋盤狀態}}
}}int
main()
k.cnt=0
; k.s=str;
bfs();
}return0;
}
藍橋杯2016初賽 卡片換位
你玩過華容道的遊戲嗎?這是個類似的,但更簡單的遊戲。看下面 3 x 2 的格仔 a b 在其中放5張牌,其中a代表關羽,b代表張飛,代表士兵。還有乙個格仔是空著的。你可以把一張牌移動到相鄰的空格中去 對角不算相鄰 遊戲的目標是 關羽和張飛交換位置,其它的牌隨便在 都可以。輸入輸入存在多組測試資料,對...
藍橋杯 2016CC 卡片換位
卡片換位 你玩過華容道的遊戲嗎?這是個類似的,但更簡單的遊戲。看下面 3 x 2 的格仔 在其中放5張牌,其中a代表關羽,b代表張飛,代表士兵。還有乙個格仔是空著的。你可以把一張牌移動到相鄰的空格中去 對角不算相鄰 遊戲的目標是 關羽和張飛交換位置,其它的牌隨便在 都可以。輸入格式 輸入兩行6個字元...
密碼脫落,藍橋杯,2016初賽
題目描述 x星球的考古學家發現了一批古代留下來的密碼。這些密碼是由a b c d 四種植物的種子串成的序列。仔細分析發現,這些密碼串當初應該是前後對稱的 也就是我們說的映象串 由於年代久遠,其中許多種子脫落了,因而可能會失去映象的特徵。你的任務是 給定乙個現在看到的密碼串,計算一下從當初的狀態,它要...