3 条题解

  • 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; }

    信息

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