Pagini recente » Cod sursa (job #967633) | Cod sursa (job #2740035) | Cod sursa (job #948244) | Cod sursa (job #3218145) | Cod sursa (job #18947)
Cod sursa(job #18947)
#include <cstdio>
#define FIN "plantatie.in"
#define FOUT "plantatie.out"
#define MAXN 505
#define max(x,y) ((x>y) ? (x) : (y))
long mat[MAXN][MAXN][MAXN], n, m, i, j, x, y, z;
int main() {
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%ld %ld", &n, &m);
for (i=1; i<=n; i++) for (j=1; j<=n; j++) scanf("%ld", &mat[i][j][1]);
for (x=2; x<=n; x++)
for (i=n; i>0; i--)
for (j=n; j>0; j--) {
mat[i][j][x] = mat[i][j][1];
mat[i][j][x] = max(mat[i][j][x], mat[i+1][j][x-1]);
mat[i][j][x] = max(mat[i][j][x], mat[i+1][j+1][x-1]);
mat[i][j][x] = max(mat[i][j][x], mat[i][j+1][x-1]);
}
for (i=1; i<=m; i++) {
scanf("%ld %ld %ld", &x, &y, &z);
printf("%ld\n", mat[x][y][z]);
}
return 0;
}