Cod sursa(job #22887)

Utilizator Darth_NiculusIvan Nicolae Darth_Niculus Data 27 februarie 2007 19:22:06
Problema Plantatie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

#define NMAX 200
#define max1(a,b) ((a>b) ? (a) : (b))
#define max2(a,b,c,d) (max1(max1(a,b),max1(c,d)))

int i,j,n,m,A[NMAX][NMAX][NMAX],k;

int main()
{
 freopen("plantatie.in","r",stdin);
 freopen("plantatie.out","w",stdout);

 scanf("%d%d",&n,&m);
 for (i=1;i<=n;i++)
 for (j=1;j<=n;j++)
    scanf("%d",&A[i][j][1]);

 for (k=2;k<=n;k++)
 for (i=1;i+k-1<=n;i++)
 for (j=1;j+k-1<=n;j++)
    A[i][j][k] = max2(A[i][j][k-1],A[i+1][j+1][k-1],A[i][j+1][k-1],A[i+1][j][k-1]);

 for (i=1;i<=m;i++)
    {
     int a,b,c;
     scanf("%d%d%d",&a,&b,&c);
     printf("%d\n",A[a][b][c]);
    }

 fclose(stdin);
 fclose(stdout);
 
 return 0;
}