題目
/*
* poj 3009: curling 2.0
* 題意:m*n矩陣中,給出起點、終點、空格、障礙,從每個點可向4方前進,直到遇到障礙,打碎並停在障礙格的前面。求到達終點的最少前進次數。
* 型別:dfs+記憶化搜尋
* 演算法:從某點出發,向4個方向投擲,遇到障礙格,標記其為空格狀態,繼續遞迴障礙前一點,回退恢復障礙狀態。每次遞迴直至到達終點或全部出界失敗。
*/#include #include #include using namespace std;
const int inf = 1000;
const int type_vacant = 0;
const int type_block = 1;
const int type_start = 2;
const int type_goal = 3;
const int max_throw = 10;
int m, n;
int mat[22][22];
int dx[4] = ;
int dy[4] = ;
int ans;
void dfs(int x, int y, int step)
for(int i = 0; i < 4; ++i)
if(mat[xx][yy] == type_goal)
if(mat[xx][yy] == type_block)
mat[xx][yy] = type_block;
break;}}
}}void solve() }}
dfs(sx, sy, 0);
if(ans == inf)
}int main()
return 0;
}
c 打擂台 冰壺遊戲
問題描述 在3月29日舉行的女子冰壺世錦賽決賽中,王冰玉 柳蔭 嶽清爽和周妍組成的中國女子冰壺隊以8比6擊敗了冬奧會和世錦賽雙冠王瑞典隊,奪得了中國冰壺歷史上第一枚世錦賽金牌,創造了歷史。美麗 實力兼具的中國冰壺姑娘們也贏得了超高的讚譽。在冰壺比賽中,給出乙個目標點p,以及乙個規定的正整數r。每一局...
poj 3009 冰壺 DFS 乙個方向搜查到底
題意 冰壺可以上下左右運動 前提上下左右的第乙個位置為空 碰到冰塊則停止,冰塊也將被破壞。問懂多少次能達到終點。乙個方向搜到底 include include using namespace std int map 30 30 int w,h int minn 300000 void dfs int...
拔河比賽 DFS
link 解題思路 一道非常典型的dfs,通過維護人數不超過總人數的一半來剪枝 為了方便,我dfs的時候用乙個變數c來記錄兩隊體重之差,左邊隊的就 右邊隊的就 最後取c的絕對值 include include include include include define n 30 define in...