题目描述:
输入&输出:
给各位直接献上C++代码(记得点赞+关注哟):
#include <bits/stdc++.h>
using namespace std;
int s,n,m,mx;
int a[110][110];
int fx[5]={0,0,1,0,-1};
int fy[5]={0,1,0,-1,0};
bool b[110][110];
void dfs(int x,int y,int k)
{
mx=max(k,mx);
int tx,ty;
for(int i=1;i<5;i++)
{
tx=x+fx[i];
ty=y+fy[i];
if(tx>0&&ty>0&&tx<=n&&ty<=m&&a[tx][ty]>a[x][y])
{
dfs(tx,ty,k+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;
}
}
int t;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
dfs(i,j,a[i][j]);
}
}
cout<<mx<<endl;
}