輸入檔案
第1行: 兩個數字r,c(1< =r,c< =100),表示矩陣的行列。
第2…r+1行:每行c個數,表示這個矩陣。
輸出檔案
僅一行: 輸出1個整數,表示可以滑行的最大長度
樣例輸入
5 51 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
樣例輸出
25解題思路:利用深搜的思想,用遞迴函式進行一層一層搜尋。
**展示:
#include
using namespace std;
int a[1001][1001],b[1001][1001];//a表示這個點,b陣列表示不論從哪一點到此點後所能行走的最大步數
int sousuo(int x,int y,int s)
}if(a[x][y]b[x][y+1])
}if(a[x][y]1)
}if(a[x][y]b[x+1][y])}}
int main(int argc, char const *ar**)
}for(int i=1;i<=m;i++)
}int max=1;
for(int i=1;i<=m;i++)}}
cout } michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 16 17 ... 給定乙個有向無環加權圖,求圖中的最長路徑。該圖中的最長距離為14,即2 4 6 2。首先我們要對有向無環加權圖進行拓撲排序。拓撲排序的意思簡要來說就是將圖中頂點和邊排成乙個線性序列,對於,經拓撲排序後一定滿足vi在vj的前面。拓撲排序的實現方法 首先找出圖中入度為0的點加入拓撲排序後的序列,例子中為... include include include include include include include include include include include using namespace std typedef long long ll const int maxn 500005...最長滑雪路徑
動態規劃 求DAG中最長路徑
樹形dp ,求最大路徑權值,最長路徑