Pagini recente » Cod sursa (job #3268901) | Cod sursa (job #2329009) | Cod sursa (job #2983597) | Cod sursa (job #262618) | Cod sursa (job #59035)
Cod sursa(job #59035)
//40
#include <stdio.h>
#define in "plantatie.in"
#define out "plantatie.out"
#define NMAX 201
#define maxim(a,b) ( (a) > (b) ? (a) : (b) )
int a[NMAX][NMAX];
int d[NMAX][NMAX][NMAX];
int n, m;
void Dinamic();
int main()
{
freopen( in, "r", stdin );
freopen( out, "w", stdout );
scanf( "%d%d", &n, &m );
int i, j, ii, jj, k;
for ( i = 1; i <= n; ++i )
for ( j = 1; j <= n; ++j )
scanf( "%d", &a[i][j] );
Dinamic();
for ( i = 1; i <= m; ++i )
{
scanf( "%d%d%d", &ii, &jj, &k );
printf( "%d\n", d[ii][jj][k] );
}
return 0;
}
void Dinamic()
{
int i, j, k;
for ( i = 1; i <= n; ++i )
for ( j = 1; j <= n; ++j )
d[i][j][1] = a[i][j];
for ( k = 2; k <= n; ++k )
for ( i = 1; i <= n; ++i )
for ( j = 1; j <= n; ++j )
{
d[i][j][k] = maxim( maxim(d[i][j][k-1], d[i][j+1][k-1] ), maxim(d[i+1][j][k-1], d[i+1][j+1][k-1] ) );
}
}