3 条题解
-
1
#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
#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
#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
- 上传者