HAOI2008 移動玩具

2022-09-09 01:03:23 字數 920 閱讀 4789

[time gate]

【解題思路】

這是一道很不錯的題目

15 int x[24]=;

16 int y[24]=;

用x,y陣列來記錄可以發生的移動,如從0號格仔可以跳到一號和4號,互相對應的

這是乙個很重要的點

再進行廣搜啦可利用map對映更加的方便,記錄位置對應步數

注意如果交換後該狀態的字串已存在則不必再次搜尋(即為第42行**)

【code】

1//2

magicsquare4//

5//created by dongzhenbo on 2019/7/9.6//

7//89 #include 10 #include 11 #include 12 #include 13 #include 14

using

namespace

std;

15int x[24]=;

16int y[24]=;

17 map m;

18 queue q;

19int

main()

25for(int i=0;i<=3;i++)

29 m[a]=0;30

q.push(a);

31while(!q.empty())

38for(int i=0;i<24;i++)46}

47 }

移動玩具 HAOI2008

在乙個4 4的方框內擺放了若干個相同的玩具,某人想將這些玩具重新擺放成為他心中理想的狀態,規定移動時只能將玩具向上下左右四個方向移動,並且移動的位置不能有玩具,請你用最少的移動次數將初始的玩具狀態移 動到某人心中的目標狀態。前4行表示玩具的初始狀態,每行4個數字1或0,1表示方格中放置了玩具,0表示...

HAOI2008 移動玩具

非常抱歉,菜雞風潯凌又來水藍題了qwq 看到題解上寫雙向搜尋?什麼鬼.看到資料範圍特別小,直接劃分二分圖,兩個點之間連線容量為1,費用為曼哈頓距離的邊,跑費用流即可。什麼?你問我那個不能移動到有玩具的格仔的限制?不用管了啦,因為費用流會給你跑費用最小的,也就是每個點都會找到最近的那個點,不會有其他點...

HAOI2008 移動玩具

time limit 10 sec memory limit 162 mb submit 2561 solved 1430 submit status discuss 在乙個4 4的方框內擺放了若干個相同的玩具,某人想將這些玩具重新擺放成為他心中理想的狀態,規定移動 時只能將玩具向上下左右四個方向移...