Cod sursa(job #110619)

Utilizator oumbraPaul Filimoon oumbra Data 27 noiembrie 2007 00:34:10
Problema Plantatie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include<cstdio>
#include<cmath>
using namespace std;

int a[510][510];
int b[3500][3500][11];
int n, m, k;

int max(int x, int y)
{
if(x<y)
 return y;
return x;
}

int min(int x, int y)
{
if(x<y)
 return x;
return y;
}

int ppow(int a, int b)
{
return (int) pow(a*1.0, b);
}

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

scanf("%d %d", &n, &m);
int i, j, y;
for(i=1; i<=n; i++)
 for(j=1; j<=n; j++)
 {scanf("%d", &y);
  a[i][j] = y;
  b[i][j][0] = a[i][j];
 }
/*

for(k=1; k<10; k++)
 for(i=1; i<=n; i++)
 for(j=1; j<=n; j++)
  {
   b[i][j][k] = b[i][j][k-1];
   b[i][j][k] = max(b[i][j][k], b[i][j+ppow(2, k-1)][k-1]);
   b[i][j][k] = max(b[i][j][k], b[i+ppow(2, k-1)][j][k-1]);
   b[i][j][k] = max(b[i][j][k], b[i+ppow(2, k-1)][j+ppow(2, k-1)][k-1]);
  }

int x, p;
for(x=0; x<m; x++)
 {scanf("%d %d %d", &i, &j, &k);
 p=0;
 while(ppow(2, p) <= k)
  p++;
 p--;
 printf("%d\n", max(max(b[i][j][p], b[i][j+k-ppow(2, p)][p]),
 max(b[i+k-ppow(2, p)][j][p], b[i+k-ppow(2,p)][j+k-ppow(2,p)][p]  ) ));
 }
*/

for(i=0; i<75000; i++)
	printf("1\n");
}