輸入的第一行表示區域的行數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
把二維化成一維,把每個座標的點記錄下來,然後按照高度排序,然後迴圈,取該點可以滑到的點的最大值然後加1(自己該格)。
動態轉移方程:f[i]=max
#include
#include
#include
using
namespace
std;
struct jlw;//結構體
jlw a[100001];
int x,y,n,m,num,maxs,w,f[100001];
bool cmp(jlw x,jlw y)//比較器
int main()
sort(a+1,a+w+1,cmp);
//c++自帶快排,用比較器做到搜尋關鍵字
for (int i=1;i<=w;i++)
f[i]++;//加上自己的
maxs=max(f[i],maxs);//取最大值
}printf("%d",maxs);//輸出
}
洛谷 P1434 滑雪
題目描述 michael喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 1...
洛谷 p1434 滑雪
洛谷 p1434 滑雪 1.附上70分 include include int a 100 10 100 10 int vis 100 10 100 10 int r,c int next 2 上 下 左 右 int max 0 void dfs int step,int r1,int c1 int...
洛谷P1434滑雪
題目描述 michael喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 1...