2 条题解
-
0
#include <iostream> using namespace std; int n, m, a[2018][2018]; int ans, sum;//非管理测试禁止抄袭 bool vis[2018][2018]; void dfs(int x, int y) { if (x == n + 1) { ans = max(ans, sum); return; } int nx = x, ny = y + 1; if (ny > m) { ny = 1; nx = x + 1; } if(!vis[x-1][y]&&!vis[x][y-1]&&!vis[x][y+1]&&!vis[x+1][y]){ vis[x][y]=1; sum+=a[x][y]; dfs(nx,ny); vis[x][y]=0; sum-=a[x][y]; } dfs(nx, ny); } //非管理测试禁止抄袭 int main() { cin >> n >> m; for (int i = 1; i <= n; i++)//非管理测试禁止抄袭 for (int j = 1; j <= m; j++) cin >> a[i][j]; dfs(1, 0);//非管理测试禁止抄袭 cout << ans; return 0; }
信息
- ID
- 71
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 7
- 已通过
- 3
- 上传者