hdu1010(深搜 剪枝 回溯)

2021-07-09 22:35:12 字數 709 閱讀 8437

這個題目我做的時候不是超時就是錯誤,自己是新手也一直不知道再怎麼剪下去 就參考了網上一大牛blog
**如下
#include#include#include//hdu1010 深搜優化剪枝 

int m,n,t;

char map[8][8];

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

int ex,ey,sx,sy,ok;

void dfs(int x,int y,int count)

if(ok) return;//只要找到一條路徑 那麼就行了

int temp=abs(x-ex)+abs(y-ey)-abs(count-t);//剪枝的地方 判斷為奇數或者偶數

if(temp>0||temp&1) return;//如過是奇數 或者當要走的路大於應該走的步數的時候,return;

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

}}int main()

else if(map[i][j]=='d')

else if(map[i][j]=='x')

wall++;

}} if(m*n-wall<=t) printf("no\n");

else

}return 0;

}

hdu 1010 深搜 回溯

也不想解釋了,只是做來找回做題的感覺。遲d出個這方面的小總結,越來越發現對所學知識作總結的重要性了 1010tempter of the bone include includeint n,m,time int xs,ys,xd,yd int direc 4 2 char str 11 11 boo...

HDU 1010 經典深搜 奇偶剪枝

剛學搜尋,不知道剪枝的重要性。超時 include include includeusing namespace std char maps 10 10 const int moves 4 2 int m,n,t,di,dj bool escape void dfs int si,int sj,in...

HDU1010 奇偶剪枝 DFS

第一次做剪枝的題目,剪枝,說實話研究的時間不短。好像沒什麼實質性的進展,遇到題目。絕對有會無從下手的感覺,剪枝越來越神奇了。hdu1010一道剪枝的經典題目,自己當初想用bfs過。提交了10幾遍wa,後來查了是剪枝最終死心了 ps 第一次寫剪枝題目,用了乙個模擬地圖來做奇偶性的判定條件進行剪枝,大牛...