搜尋水題四連發 C

2022-05-18 04:50:56 字數 2084 閱讀 3840

特別宣告:以下題目有部分為原創題,涉及版權問題,不得**,違者追究法律責任!

話說這是一套神題,只有你想不到,沒有你做不到

題目更正後比 pascal 跑得還快哈~

一道特別裸,但是特別坑的搜尋題

題解給出了一行字

這個包含的意思就很多了~比如dfs的深度是第幾朵花,而不是位置

然後搜尋要從 n 開始,反過來搜

列舉位置的時候,加上乙個 f 陣列判重即可

沒有任何剪枝,但如果你是從 1 開始你就能拿到 10 分的高分,tle 9個點

一開始我還想成了dp題,以為只要往下和右轉移就行,結果發現如果有牆而需要往上面或者左邊繞的時候會得到0

後面回頭看一眼資料範圍12,顯然dfs

不剪枝,每次向四周走,判斷有沒有牆和有沒有超界,然後走過的地方要打標機,30 分

加第乙個剪枝,如果當前已走步數大於答案,則不會再更行到答案,直接return,80分

加第二個剪枝,如果目標地點與當前地點之間最近的路線(不考慮牆,也就是abs(x-x_now)+abs(y-y_now)>ans)大於答案,也可以return,90分

加第三個剪枝(強行優化),先往右邊走再往下邊走,100分

最後乙個剪枝就是這套題最坑的地方2333333

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;89

const

int n=13;10

int n,m,mx,my,ans=2000000000

,tot;

11bool

g[n][n],f[n][n];

12void dfs(int x,int y,int

dep)

1321

else

if (dep==ans) tot++;

22return;23

}24if (dep==ans||abs(mx-x)+dep>ans||abs(my-y)+dep>ans) return

;25 f[x][y]=1;26

if (y+1

<=m&&f[x][y+1]==0&&g[x][y+1]) dfs(x,y+1,dep+1

);27

if (x+1

<=n&&f[x+1][y]==0&&g[x+1][y]) dfs(x+1,y,dep+1

);28

if (x-1>0&&f[x-1][y]==0&&g[x-1][y]) dfs(x-1,y,dep+1

);29

if (y-1>0&&f[x][y-1]==0&&g[x][y-1]) dfs(x,y-1,dep+1

);30 f[x][y]=0;31

}32intmain()

3344 dfs(1,1,1

);45 printf("

%d\n

",tot);

46return0;

47 }

第三題是原題,我以前寫過題解,具體請戳

第四題是noip2003的第四題,我也寫過題解

就這麼水過了,很森破啊~

華為最新機試題三連發(含本人自己寫的原始碼)

一.實現簡易字串壓縮 演算法 乙個任意長度字串,由字母a z 或者a z 組成,將其中連續出現 2次以上 含2 描述 實現簡易字串壓縮演算法 乙個長度最大為128 的字串,由字母 a z或者 a z組成,將其中連續出現 2次以上 含 2次 的字母轉換為字母和出現次數,以達到壓縮目的。執行時間限制 無...

強悍賣點三連發 iQOO旗艦級效能兇獸秀肌肉

隨著3月1號iqoo深www.cppcns.com圳新品發布會的逼近,iqoo手機行業關注度不斷提公升。今天,iqoo官方微博效能官宣三連發 44w超快閃充 高通驍龍855 非凡電競體驗,一套組合拳的打法讓iqoo在發布會前猛秀了一把肌肉,進一步拉公升大眾對於iqoo手機的期望值,紛紛坐等全新效能旗...

搜尋 由淺入深 之一 水題

搜尋很重要,是很難學的演算法,能看懂很簡單,但是要想真正做出題來就比較困難了,那麼,我們現在就水題開始研究搜尋。水題之 time limit 1 sec memory limit 162 mb submit 830 solved 572 submit status discuss windy的生日到...