這是一道不能再簡單的題目了,我的做法是bfs,其實這題可以bfs可以dfs,隨便,看愛好了(floodfill其實和bfs差不多)。
這道題雖然很簡單,但很慚愧,我交了很多次……
第一次,低級錯誤,把一次bfs放在內層循環外面了~!
第二次,第十個數據WA;
第三次,忘記把用來調試的代碼刪掉,超囧~!
第四次,把第三次的代碼上面的部分代碼刪掉,AC。
但是我其中還是犯了一個不小的錯誤,雖然僥幸AC了。我用used[i][j]把每次出隊的點標記,但是這樣有了重復現象,我開了一個10000的隊列結果內存不夠用。后來改正了一下,不使用used[i][j]=0或1,而是把入隊的點從“#”改為“-”,這樣一來在條件中判斷一下就可以避免重復了。
感覺這個錯誤也挺低級,以前bfs的時候都沒有這個錯誤……唉,搜索還是需要加強啊。
不過這個錯誤也對我有了一個提醒,在競賽內存允許的情況下多開內存還是可以避免一些不必要的錯誤的,比如這題,開60000的隊列,我的錯誤方法完全沒有問題。
不多說,現在練習中出的錯也是一種積累吧。
給出代碼,自然沒有dfs簡短了。





























































































