整理コード

1707 ワード

#include
#include
#include
#include
#include
using namespace std;

struct dot// 
{
    int x;
    int y;
    int h;
};
dot line[20000]; // 
int height[120][120]; // input
int len[120][120];  //dp , 
int cmp( const void *a ,const void *b){ // 
    if((*(dot *)a).h>(*(dot *)b).h)
        return 1;
    else return -1;
}
int main (){
    int m,n;
    cin>>m>>n;
    int i,j;
    int flag=-1;
    int max=0;
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++)
        {
            flag++;
            scanf("%d",&height[i][j]);
            line[flag].x=i;
            line[flag].y=j;
            line[flag].h=height[i][j];
        }
    } // 
    qsort(line,m*n,sizeof(line[0]),cmp); // h 
    for(i=0;i=len[line[i].x][line[i].y+1])

        {

            len[line[i].x][line[i].y+1]=len[line[i].x][line[i].y]+1;

        }

    if(height[line[i].x][line[i].y]=len[line[i].x+1][line[i].y])

        {

            len[line[i].x+1][line[i].y]=len[line[i].x][line[i].y]+1;

        }

    if(height[line[i].x][line[i].y]=len[line[i].x][line[i].y-1])

        {

            len[line[i].x][line[i].y-1]=len[line[i].x][line[i].y]+1;

        }

        if (height[line[i].x][line[i].y]=len[line[i].x-1][line[i].y])

        {

            len[line[i].x-1][line[i].y]=len[line[i].x][line[i].y]+1;

        }

    } // 

    for(i=1;i<=m;i++) {
        for(j=1;j<=n;j++){
            if(len[i][j]>max)
                max=len[i][j];
        }
    } // len , 
    cout<