Mzx0821月賽系列之情書(1084)
小時候,Mzx0821暗戀班上的一個妹子Zzx。
一次班上做活動,班上同學被安排坐成m行n列的矩陣,Mzx0821坐在座標(x1,y1)的位置,Zzx坐在座標(x2,y2)的位置。活動過程中,Mzx0821寫了一張紙條想給Zzx,但是Mzx0821又不想班上其他人看到他寫的內容,於是Mzx0821給班上每個人定義了一個保密程度值(就是這個人不偷看紙條內容的可能),每個人傳遞紙條只能給前後左右的人。
Mzx0821還考慮到萬一Zzx給Mzx0821回紙條怎麼辦呢,爲了保密,Mzx0821希望每個人最多傳遞一次紙條,就是說一個人在Mzx0821傳給Zzx的時候幫了忙,就不能再幫Zzx傳給Mzx0821,反之亦然。
Mzx0821希望找到這樣兩條路,使得來回兩條路上的保密程度值的和最大,爲了儘快傳到,這兩條路必須是Mzx0821到Zzx的之間的最短路。
Mzx0821智商實在捉急,於是向機智的學弟學妹們求助,你能幫助他找到正確的路線嗎?
輸入第一行有2個用空格隔開的整數m和n,表示班裏有m行n列(1<=m,n<=50)。
爲了簡化問題我們假設Mzx0821坐在左上角,Zzx坐在右下角。
接下來的m行是一個m*n的矩陣,矩陣中第i行j列的整數表示坐在第i行j列的學生的保密程度。每行的n個整數之間用空格隔開。
友情提示:Mzx0821座標點的值和Zzx座標點的值爲0,座標點的值<10000。
輸出共一行,包含一個整數,表示來回兩條路上參與傳遞紙條的學生的保密程度之和的最大值。
1
2
3
4
5
|
3 3
0 3 9
2 8 5
5 7 0
|
1
|
34
|
簡述:這道題的意思就是求從圖的左上角到圖的右下角走一個來回能得到的最高保密值,且去和回不能走相同的點,也就是說每一個點只能走一次。也可以想成是撿寶藏撿最大價值。
思路:如果是隻去不回的話肯定dp就直接搞定了,