能过样例,但还是WA,求调
查看原帖
能过样例,但还是WA,求调
816204
Light_LE楼主2024/6/22 16:38
#include<iostream>
#include<limits.h>
#include<string>
#include<cstring>
#define maxn 103
using namespace std;
int _map[maxn][maxn],v[maxn][maxn],d[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int _case,r,c,ans=INT_MIN;
string name;
int dfs(int x,int y){
    if(v[x][y]){
        return v[x][y];
    }
    v[x][y]=1;
    for(int i=0;i<4;i++){
        int nx=x+d[i][0],ny=y+d[i][1];
        if(nx>=0&&nx<r&&ny>=0&&ny<c&&_map[x][y]>_map[nx][ny]){
            dfs(nx,ny);
            v[x][y]=max(v[x][y],v[nx][ny]+1);
        }
    }
    return v[x][y];
}
int main(){
    freopen("in.txt","r",stdin);
    ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
    
    cin>>_case;
    while(_case--){
        ans=INT_MIN;
        memset(_map,0,sizeof(_map));
        memset(v,0,sizeof(v));

        cin>>name>>r>>c;
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                cin>>_map[i][j];
            }
        }
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                ans=max(ans,dfs(i,j));
            }
        }
        cout<<name<<": "<<ans<<endl;
    }
    return 0;
}

2024/6/22 16:38
加载中...