WA求调
  • 板块灌水区
  • 楼主OneLeft
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/8/1 17:11
  • 上次更新2023/10/27 17:29:20
查看原帖
WA求调
574215
OneLeft楼主2022/8/1 17:11
#include<bits/stdc++.h>
using namespace std;
struct node
{
    long long A,X,Y;
};
node a[10005];
long long n,m,b[105][105],dp[105][105],da,x,y;
bool cmp(node x,node y)
{
    return x.A>y.A;
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
    {
        cin>>b[i][j];
        a[(i-1)*n+j].A=b[i][j];
        a[(i-1)*n+j].X=i;
        a[(i-1)*n+j].Y=j;
    }
    sort(a+1,a+n*m+1,cmp);
    for(int i=1;i<=n*m;i++)
    {
        x=a[i].X;y=a[i].Y;
        da=dp[x][y];
        if(b[x-1][y]>b[x][y])da=max(da,dp[x-1][y]);
        if(b[x+1][y]>b[x][y])da=max(da,dp[x+1][y]);
        if(b[x][y-1]>b[x][y])da=max(da,dp[x][y-1]);
        if(b[x][y+1]>b[x][y])da=max(da,dp[x][y+1]);
        dp[x][y]=da+1;
    }
    da=0;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
        da=max(da,dp[i][j]);
    cout<<da;

    return 0;
}

WA 1# 2# 求调

题目链接

2022/8/1 17:11
加载中...