如【圖1.jpg】, 有12張連在一起的12生肖的郵票。
現在你要從中剪下5張來,要求必須是連著的。
(僅僅連線乙個角不算相連) 比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。
請你計算,一共有多少種不同的剪取方法。
和一般的深搜思路不太一樣:一般的深搜是定義四個方向,然後依次判斷,形成可走的路徑,但對於此題,每個路徑都可走,因此我們選擇順序判斷,即乙個點接著乙個點進行深搜,每遍歷5個點進行判斷是否可以形成通路,從(0,0) 開始,(0,1),(0,2),(0,3),(1,0),然後前四個點不動,繼續dfs,直到出界,回溯,前三個點不動,(0,3)到(0,4),這樣做的好處是不用判重,因為不存在重複的情況。
大神寫的太簡潔了!!!膜拜:
#include #includeposted @int map[13][2], mtx[5][6], q[5
], opt;
void
init()
}int sum(int y, int
x)void dfs(int last, int
i) }
else
}int
main()
2018-03-13 19:14
nikki_o3o 閱讀(
...)
編輯收藏
藍橋杯 剪格仔 深搜
題目鏈結 題目意思 給你乙個n m的矩陣,然後讓你將這個矩陣剪成面積相等的兩部分,每個格仔上的數值代表這個格仔的面積。如果有多種解決方案就輸出包含左上角格仔的那個區域包含的格仔的最小數目。如果沒法剪就輸出0。解題思路 剪格仔可以沿著邊緣上下左右四個方向去剪。用深搜去做。只要能搜到面積的一半就能剪。部...
藍橋杯 剪郵票
剪郵票如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多...
藍橋杯 剪郵票
這道題,第一眼看知道是從12個數中選擇5個,然後dfs,但是就是不知道怎麼寫才好,看了一些別人寫的,大部分都是用c c 寫的,參考別人的,再自己修改,寫了這樣的,應該算是很好理解的,附上參考的package lanqiaocuprealtest 這裡也和別人的一樣,把數字改過了,5,6,7,8,改為...