为什么1、6会WA呀
查看原帖
为什么1、6会WA呀
264847
primaryzk楼主2021/3/31 22:41
#include<stdio.h>
int r, c, i, j, max=0;
int a[110][110], s[110][110];

int road(int x, int y){
    if (s[x][y])
        return s[x][y];
    s[x][y] = 1;
    if (y-1>0&&a[x][y]>a[x][y-1]){
        road(x, y-1);
        if (s[x][y-1]+1>s[x][y])
            s[x][y] = s[x][y-1]+1;
    }
    if (y+1<=r&&a[x][y]>a[x][y+1]){
        road(x, y+1);
        if (s[x][y+1]+1>s[x][y])
            s[x][y] = s[x][y+1]+1;
    }
    if (x-1>0&&a[x][y]>a[x-1][y]){
        road(x-1, y);
        if (s[x-1][y]+1>s[x][y])
            s[x][y] = s[x-1][y]+1;
    }
    if (x+1<=c&&a[x][y]>a[x+1][y]){
        road(x+1, y);
        if (s[x+1][y]+1>s[x][y])
            s[x][y] = s[x+1][y]+1;
    }
    return s[x][y];
}

int main(){
    scanf("%d %d", &r, &c);
    for (i=1;i<=r;i++)
        for (j=1;j<=c;j++)
            scanf("%d", &a[i][j]);
    for (i=1;i<=r;i++)
        for (j=1;j<=c;j++)
            if (max<road(i, j))
                max = road(i, j);
    printf("%d", max);
}
2021/3/31 22:41
加载中...