特別宣告:以下題目有部分為原創題,涉及版權問題,不得**,違者追究法律責任!
話說這是一套神題,只有你想不到,沒有你做不到
題目更正後比 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的生日到...