Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141096 | 方文轩 | 滑雪 | C++ | 解答错误 | 20 | 0 MS | 284 KB | 676 | 2024-04-02 13:21:11 |
#include<bits/stdc++.h> using namespace std; int a[105][105],b[105][105]; struct st{ int x,y,h; }; bool cmp(st o,st p){ return o.h>p.h; } st s[10005]; int main(){ int m,n; cin>>m>>n; int cnt=1; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; s[cnt].x=i; s[cnt].y=j; s[cnt].h=a[i][j]; cnt++; } } sort(s+1,s+cnt,cmp); cnt--; for(int i=1;i<=cnt;i++){ b[s[cnt].x][s[cnt].y]=max(max(max(b[s[cnt].x-1][s[cnt].y],b[s[cnt].x][s[cnt].y-1]),b[s[cnt].x+1][s[cnt].y]),b[s[cnt].x][s[cnt].y+1])+1; } int maxn=0; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ maxn=max(maxn,a[i][j]); } } cout<<maxn; }