Pagini recente » Cod sursa (job #726534) | Cod sursa (job #592944) | Cod sursa (job #2851858) | Cod sursa (job #1174870) | Cod sursa (job #331776)
Cod sursa(job #331776)
#include <stdio.h>
#define DIM 256
int a[DIM][DIM],b[DIM][DIM][DIM];
int n,m;
void read ()
{
int i,j;
scanf ("%d%d",&n,&m);
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
scanf ("%d",&a[i][j]);
}
int maxim (int a,int b,int c,int d)
{
if (a>=b && a>=c && a>=d)
return a;
if (b>=a && b>=c && b>=d)
return b;
if (c>=b && c>=a && c>=d)
return c;
return d;
}
void proc ()
{
int i,j,k;
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
b[i][j][1]=a[i][j];
for (k=2; k<=n; ++k)
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
b[i][j][k]=maxim (b[i][j][k-1],b[i+1][j][k-1],b[i][j+1][k-1],b[i+1][j+1][k-1]);
}
void solve ()
{
int i,x,y,z;
for (i=1; i<=m; ++i)
{
scanf ("%d%d%d",&x,&y,&z);
printf ("%d\n",b[x][y][z]);
}
}
int main ()
{
freopen ("plantatie.in","r",stdin);
freopen ("plantatie.out","w",stdout);
read ();
proc ();
solve ();
return 0;
}