3 solutions

  • 2
    @ 2024-7-19 10:37:30
    #include<bits/stdc++.h>
    using namespace std;
    const int N=110;
    int dx[]={-1,1,0,0};
    int dy[]={0,0,-1,1};
    bool st[N];
    char g[N][N];
    int n,m;
    int ans=1;
    void dfs(int x,int y,int len)
    {
       ans=max(ans,len);
       for(int i=0;i<4;i++)
       {
          int tx=x+dx[i],ty=y+dy[i];
          if(tx<0||tx>=n||ty<0||ty>=m||st[g[tx][ty]])
          {
             continue;
          }
          st[g[tx][ty]]=1;
          dfs(tx,ty,len+1);
          st[g[tx][ty]]=0;
       }
    }
    int main()
    {
     
       cin>>n>>m;
       for(int i=0;i<n;i++)
       {
          cin>>g[i];
       }
       st[g[0][0]]=1;
       dfs(0,0,1);
       cout<<ans;
       return 0;
    }
    
    • 2
      @ 2024-7-9 16:48:25
      #include<bits/stdc++.h>
      using namespace std;
      const int N=110;
      int dx[]={-1,1,0,0},dy[]={0,0,-1,1};
      bool st[N];
      char g[N][N];
      int n,m;
      int ans=1;
      void dfs(int x,int y,int len)
      {
          ans=max(ans,len);
          for(int i=0;i<4;i++)
          {
              int tx=x+dx[i],ty=y+dy[i];
              if(tx<0||tx>=n||ty<0||ty>=m||st[g[tx][ty]])
                  continue;
              st[g[tx][ty]]=1;
              dfs(tx,ty,len+1);
              st[g[tx][ty]]=0;
          }
      }
      int main()
      {
       
          cin>>n>>m;
          for(int i=0;i<n;i++) cin>>g[i];
          st[g[0][0]]=1;
          dfs(0,0,1);
          cout<<ans;
          return 0;
      }
      
      • -2
        @ 2025-1-4 11:40:14

        col=坳

      • 1

      Information

      ID
      1008
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      5
      Tags
      (None)
      # Submissions
      42
      Accepted
      10
      Uploaded By