HDU1010 奇偶剪枝 DFS

2021-09-07 11:25:28 字數 863 閱讀 5612

第一次做剪枝的題目,剪枝,說實話研究的時間不短。好像沒什麼實質性的進展,遇到題目。絕對有會無從下手的感覺,剪枝越來越神奇了。

hdu1010一道剪枝的經典題目,自己當初想用bfs過。提交了10幾遍wa,後來查了是剪枝最終死心了

ps:第一次寫剪枝題目,用了乙個模擬地圖來做奇偶性的判定條件進行剪枝,大牛們寫的那種俺實在看不懂。渣渣兒。

**有點挫。

。562ms低空掠過

#include #include #include #include using namespace std;

char ma[10][10];

bool vis[10][10];

,,,,,,

};int n,m,t,dx,dy;

bool flag;

int mv[4][2]=,,,};

void dfs(int sx,int sy,int dp)

if(flag) return;

int t = t - dp;

else

for(int i=0;i<4;i++)

{int xx = sx + mv[i][0];

int yy = sy + mv[i][1];

if(ma[xx][yy]!='x' && vis[xx][yy]!=1 &&0<=xx && xx

HDU1010 奇偶剪枝 dfs)

the doggie found a bone in an ancient maze,which fascinated him a lot.however,when he picked it up,the maze began to shake,and the doggie could feel t...

dfs奇偶剪枝 HDU 1010

題意 問小狗是否能在第t秒 走t步 從s點到達d點 思路 很明顯的一道dfs題目,但是我們這裡需要採用剪枝減少不必要的路,另外這裡的地圖是字元,我們輸入需要注意吸收換行符 另外如果找到了答案,我們用全域性變數把它標記,只要它找到了答案,後面的操作不用進行 include include includ...

hdu1010迷宮搜尋 奇偶剪枝

n m t 4 4 5 s為起點,能否恰好t步走到d,x是牆,s.x.直接搜尋超時,根據曼哈頓距離可以排除一些情況,x.易知起點到終點的最短距離為兩點曼哈頓距離,xd 則若計算的距離大於最短距離,距離之差相當於 走完最短距離又出去走了一段又回來,一定是偶數 no3 4 5 s.x.x.d 0 0 0...