Pagini recente » Cod sursa (job #2811806) | Cod sursa (job #267339) | Cod sursa (job #36106) | Cod sursa (job #18573) | Cod sursa (job #18336)
Cod sursa(job #18336)
#include<stdio.h>
long int n,m1,i,a,t,x,y,b,p,j,l,k,max,f1,m[500][500][9];
int main()
{ FILE *f=fopen("plantatie.in","r");
FILE *g=fopen("plantatie.out","w");
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fscanf(f,"%ld",&m[a][b][0]);
f1=1;
while(f1<=n){for(k=1;k<=n-f1;k++)
for(l=1;l<=n-f1;l++)
{ max=0;
if(max<m[l][k][j-1]) max=m[l][k][j-1];
if(max<m[l+f1][k][j-1]) max=m[l+f1][k][j-1];
if(max<m[l][k+f1][j-1]) max=m[l][k+f1][j-1];
if(max<m[l+f1][k+f1][j-1]) max=m[l+f1][k+f1][j-1];
m[l][k][j]=max;
}
f1=f1*2;
}
for(t=1;t<=m1;t++)
{ fscanf(f,"%ld%ld%ld",&i,&j,&k);
l=k; f1=1; x=i; y=j; max=m[x][y][0];
for(i=0;i<=8;i++)
{ if(l%2==1){for(p=0;p<f1*l;p=p+f1)
{ if(m[x+p][y][i]>max) max=m[x+p][y][i];
if(m[x][y+p][i]>max) max=m[x][y+p][i];
}
x=x+f1; y=y+f1; l=l-f1;
}
f1=f1*2; l=l/2;
}
fprintf(g,"%ld",max);
}
fcloseall();
return 0;
}