洛谷P1434 [SHOI2002] 滑雪
P1434 [SHOI2002] 滑雪 - 洛谷
代码区:
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace std;
const int MAX = 105;
int r, c;
int arr[MAX][MAX], dp[MAX][MAX];
int xindex[4] = {-1,1,0,0};//上下左右
int yindex[4] = {0,0,-1,1};
int dfs(int x,int y) {
if (dp[x][y]!=0) {
return dp[x][y];
}
dp[x][y] = 1;
for (int q = 0; q < 4; q++) {
int newx = x + xindex[q];
int newy = y + yindex[q];
if (newx >=0 && newx<r && newy>=0 &&newy<c && arr[newx][newy]<arr[x][y]) {
dp[x][y] = max(dp[x][y], dfs(newx, newy) + 1);
}
}
return dp[x][y];
}
int main() {
int ans = 0;
cin >> r >> c;
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
cin >> arr[i][j];
}
}
memset(dp, 0, sizeof(dp));
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
ans = max(ans, dfs(i,j));
}
}
cout << ans;
return 0;
}
欢迎各位读者提出意见。
(菜菜奋斗小日记)