社区讨论
【求调】70pts,#5 #6 #7
P1434[SHOI2002] 滑雪参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mje16neu
- 此快照首次捕获于
- 2025/12/20 16:23 3 个月前
- 此快照最后确认于
- 2025/12/22 18:05 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n , m , a[105][105] , dp[105][105];
struct swe{
int i , j , num;
bool operator ()(const swe &a , const swe &b) const{
return a.num > b.num;
}
};
priority_queue<swe , vector<swe> , swe> q_dp;
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= m ;j++){
cin >> a[i][j];
swe test = {i , j , a[i][j]};
q_dp.push(test);
}
}
while(!q_dp.empty()){
swe test = q_dp.top();
int i = test.i;
int j = test.j;
q_dp.pop();
dp[i][j] = max(max(dp[i][j] , 1), max(dp[i - 1][j] + 1 , max(dp[i + 1][j] + 1 , max(dp[i][j - 1] + 1, dp[i][j + 1] + 1))));
}
int maxn = 0;
for(int i = 1;i <= n;i ++){
for(int j = 1;j <= m ;j++){
maxn = max(maxn , dp[i][j]);
}
}
cout << maxn;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...