#include<bits/stdc++.h> using namespace std; long long n,m,s,a[101][101],c[101][101],sum=0,ans=0; bool b[101][101]; int fx[4]={0,1,0,-1}; int fy[4]={1,0,-1,0}; void dfs(int x,int y){ c[x][y]=sum; for(int i=0;i<=3;i++){ int tx=x+fx[i]; int ty=y+fy[i]; if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&a[tx][ty]<a[x][y]&&sum+a[tx][ty]>c[tx][ty]){ sum+=a[tx][ty]; dfs(tx,ty); sum-=a[tx][ty]; } } } int main(){ cin>>n>>m>>s; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ s=(s*345)%19997; a[i][j]=s%10+1; c[i][j]=0; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ sum=a[i][j]; dfs(i,j); // cout<<sum<<endl; // if(sum>ans)ans=sum; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(c[i][j]>ans)ans=c[i][j]; } // cout<<endl; } cout<<ans; return 0; } /************************************************************** Problem: 1381 User: chenjingqi Language: C++ Result: Wrong Answer ****************************************************************/