加勒比海盜的寶藏

2021-08-10 16:33:22 字數 2044 閱讀 9597

加勒比海盜的寶藏

時間限制: 1 sec  記憶體限制

: 128 mb

題目描述

探險家在乙個島嶼的山洞裡發現了加勒比海盜的寶藏,但是不小心觸動了開關,他現在只能迅速地脫身,當然,不能空手離開,於是他邊跑邊把腳邊的寶藏拿走。他只能往前走(前方指下一行),但是可以考慮正前、偏左和偏右兩個三個方向,請你幫幫他讓他逃生的同時拿到最多的寶藏。

例如,探險家在左上角的位置,洞口在最後一行,洞中財寶數如下列所示,則探險家能得到的最多財寶數是15.

1    2    3

4    5    6

7    8    9

輸入第一行c,測試資料的組數

每組資料第一行m n,表示山洞有m行,

n列,後面m行

n列資料表示每個位置的財寶數。假設探險家的位置在0行

0列,山洞口在

m-1行。 輸出

每個測試資料輸出1行,探險家能得到的最多財寶數。

樣例輸入

3    3

1    2    3

4    5    6

7    8    9

4    3

1    2    3    

4    5    6

7    8    9

20  1    2

樣例輸出

#include

using namespace std;

int a[108][108],b[108][108];

int m,n;

int maxsum(int i,int j)

/*if(b[i][j]!=0)

return b[i][j];*/

//不加這個會導致重複計算 可能會超時

if(i==m)

return a[i][j];

int x,y,z,t;

x=maxsum(i+1,j);

y=maxsum(i+1,j-1);

z=maxsum(i+1,j+1);

t=max(x,y);

t=max(t,z);

return b[i][j]=t+a[i][j];

int main()

int t;

cin>>t;

while(t--)

cin>>m>>n;

for(int i=1;i<=m;i++)

for(int j=1;j<=n;j++)

cin>>a[i][j];

memset(b,0,sizeof(b));

maxsum(1,1);

/*for(int i=1;i<=m;i++)

for(int j=1;j<=n;j++)

cout另一種不用遞迴,直接從下往上找。

#include

int main()

int c;

scanf("%d",&c);

while(c--)

int m,n;

scanf("%d%d",&m,&n);

int a[100][100],b[100][100];

int i,j;

for(i=0;ia[i][0]=0;

a[i][n+1]=0;

for(j=1;j<=n;j++)

scanf("%d",&a[i][j]);

for(i=0;ib[i][0]=0;

b[i][n+1]=0;

for(j=1;j<=n;j++)

b[m-1][j]=a[m-1][j];

int x,y,z;

for(i=m-1;i>=0;i--)

for(j=1;j<=n;j++)

x=b[i][j-1]+a[i-1][j];

y=b[i][j]+a[i-1][j];

z=b[i][j+1]+a[i-1][j];

b[i-1][j]=x>y?x:y;

b[i-1][j]=b[i-1][j]>z?b[i-1][j]:z;

printf("%d\n",b[0][1]);

return 0;

貪心演算法 加勒比海盜 最優裝載問題

有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎就失去了它的價值。雖然海盜船足夠大,但載重量為c,每件古董的重量為wi,海盜們該如何把盡可能多數量的寶貝裝上海盜船呢?include 呼叫sort函式的標頭檔案 includeusing namespace std c 定...

貪心 加勒比海盜船 最優裝載問題

在北美洲東南部,有一片神秘的海域,那裡碧海藍天 陽光明媚,這正是傳說中海盜最活躍的加勒比海。17 世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎...

加勒比海盜船 最優裝載問題 貪心演算法

在北美洲東南部,有一片神秘的海域,那裡碧海藍天 陽光明媚,這,正式傳說中海盜最活躍的加勒比海 caribbean sea 17世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜們不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,...