題目大意:
一天機械人小a在玩乙個簡單的智力遊戲,這個遊戲是這樣的,在乙個4*4的矩陣中分別有4個1,4個2,4個3和4個4分別表示4種不同的東西,每一步小a可以把同一行的4個數往左移或者往右移一步或者把同一列的4個數字往上移或者往下移一步(1,2,3,4往左移後是2,3,4,1),小a現在想知道進過最少的幾步移動可以將矩陣的每行上的4個數字都一樣或者每列上的4個數字都一樣。但是小a又不想走太多步,他只要知道最少步數是否少於等於5步,是的話輸出準確的步數,否則輸出-1。
解題思路:迭代加深搜尋。
示例**:
#include using namespace std;
int a[4][4];
void l_rot(int r)
void r_rot(int r)
void u_rot(int c)
void d_rot(int c)
bool chk_r(int r)
bool chk_c(int c)
bool check()
int d;
bool dfs(int d)
for (int i = 0; i < 4; i ++)
return false;
}int solve()
return -1;
}int t;
int main()
return 0;
}
FZU 2234 牧場物語(多程序dp)
problem 2234 牧場物語 小茗同學正在玩牧場物語。該遊戲的地圖可看成乙個邊長為n的正方形。小茗同學突然心血來潮要去砍樹,然而,斧頭在小茗的右下方。小茗是個講究效率的人,所以他會以最短路程走到右下角,然後再返回到左上角。並且在路上都會撿到 踩到一些物品,比如說花朵,錢和大便等。物品只能被取最...
poj 2234基礎Nim博弈 sg博弈
poj 終於突破200大關了,mark一下。hdu也快要300了。加油 題意 有n堆石子,每人每次可以從一堆中拿走任意多個,兩人輪流操作,誰無子可取誰輸。輸入n堆石子各自的數量,輸出先手是否能贏。分析 np問題,必勝態n next player wins 必敗態p previous player w...
營業額統計 洛古2234 splay
題目描述 tiger最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節假日,大減價或者是其他情況的時候,營業額會出現一定的波動,當然一定的波動是...