總時間限制: 記憶體限制:
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想知道載乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代...