百練 02 滑雪

2021-07-15 09:20:53 字數 1435 閱讀 8175

總時間限制: 記憶體限制:

1000ms 65536kb

michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

乙個人可以從某個點滑向上下左右相鄰四個點之一,當且僅當高度減小。在上面的例子中,一條可滑行的滑坡為24-17-16-1。當然25-24-23-…-3-2-1更長。事實上,這是最長的一條。

輸入的第一行表示區域的行數

r 和列數c(

1<=r,

c<=

100)

。下面是

r 行,每行有

c個整數,代表高度

h ,

0<=

h<=

10000

。輸出最長區域的長度。

5 5

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

#include 

#include

#include

#include

using

namespace

std;

const

int max_row = 100 + 5;

const

int max_column = 100 + 5;

// 行列數

int c, r;

// 高度陣列

int height[max_row][max_column];

// d(i,j)表示從點(i,j)出發的最長長度

int d[max_row][max_column];

// 上右下左

int dir[4][2] = , , , };

int dp(int r, int c)

int ans = 0;

// 四個方向

for(int i = 0; i < 4; i++)

}d[r][c] = ans + 1;

return d[r][c];

}int main()

}memset(d, 0, sizeof(d));

int ans = -1;

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

}cout

<< ans << endl;

}return

0;}

百練 1088 滑雪

一向不喜歡囉裡囉嗦,冗長的 有什麼不合適的地方,還望多指教 input 輸入的第一行表示區域的行數r和列數c 1 r,c 100 下面是r行,每行有c個整數,代表高度h,0 h 10000。output 輸出最長區域的長度。sample input 5 51 2 3 4 5 16 17 18 19 ...

POJ 百練 1088 滑雪

時間限制 1000ms 記憶體限制 65536kb 描述 michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表...

百練1088 滑雪題解

總時間限制 1000ms 記憶體限制 65536kb 描述 michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代...