3 条题解

  • 1
    @ 2023-3-20 19:15:34

    #include<bits/stdc++.h> using namespace std; int n,m,ans=1,vis[105][105],sum,s; int dx[4]= {-1,0,0,1},dy[4]= {0,-1,1,0}; int a[105][105]; void dfs(int x,int y,int temp) { vis[x][y]=1; temp+=a[x][y]; ans=max(ans,temp); for(int i=0; i<4; i++) { int tx=x+dx[i],ty=y+dy[i]; if(tx>0&&ty>0&&tx<=n&&ty<=m&&vis[tx][ty]==0&&a[tx][ty]>a[x][y]) { dfs(tx,ty,temp);

    }
    }
    vis[x][y]=0;
    

    } int main() { cin>>n>>m>>s; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { s=((s%19997)*345)%19997; a[i][j]=(s%10)+1; } } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { sum=0; dfs(i,j,0); } } cout<<ans<<endl; return 0; }

    • 1
      @ 2022-10-22 9:58:25
      #include<bits/stdc++.h>
      using namespace std;
      int n,m,ans=1,vis[105][105],sum,s;
      int dx[4]= {-1,0,0,1},dy[4]= {0,-1,1,0};
      int a[105][105];
      void dfs(int x,int y,int temp) {
          vis[x][y]=1;
          temp+=a[x][y];
          ans=max(ans,temp);
          for(int i=0; i<4; i++) {
              int tx=x+dx[i],ty=y+dy[i];
              if(tx>0&&ty>0&&tx<=n&&ty<=m&&vis[tx][ty]==0&&a[tx][ty]>a[x][y]) {
                  dfs(tx,ty,temp);
       
              }
          }
          vis[x][y]=0;
      }
      int main() {
          cin>>n>>m>>s;
          for(int i=1; i<=n; i++) {
              for(int j=1; j<=m; j++) {
                  s=((s%19997)*345)%19997;
                  a[i][j]=(s%10)+1;
              }
          }
          for(int i=1; i<=n; i++) {
              for(int j=1; j<=m; j++) {
                  sum=0;
                  dfs(i,j,0);
              }
          }
          cout<<ans<<endl;
          return 0;
      }
      
      
      • 0
        @ 2023-10-18 21:10:32

        #include #include #include #include #include #include #include using namespace std; int n,m,ans=1,vis[105][105],sum,s; int dx[4]= {-1,0,0,1},dy[4]= {0,-1,1,0}; int a[105][105]; void dfs(int x,int y,int temp) { vis[x][y]=1; temp+=a[x][y]; ans=max(ans,temp); for(int i=0;i<4;i++) { int tx=x+dx[i],ty=y+dy[i]; if(tx>0&&ty>0&&tx<=n&&ty<=m&&vis[tx][ty]==0&&a[tx][ty]>a[x][y]) { dfs(tx,ty,temp); } } vis[x][y]=0; } int main() { cin>>n>>m>>s; for(int i=1;i<=n;i++) { for(int j=1; j<=m; j++) { s=((s%19997)*345)%19997; a[i][j]=(s%10)+1; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { sum=0; dfs(i,j,0); } } cout<<ans<<endl; return 0; }

        • 1

        信息

        ID
        378
        时间
        1000ms
        内存
        128MiB
        难度
        4
        标签
        递交数
        44
        已通过
        22
        上传者