Cod sursa(job #532226)
| Utilizator | Data | 11 februarie 2011 09:14:05 | |
|---|---|---|---|
| Problema | Piese | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream.h>
#define DIM 500
int N, M, i, j, k, patrat, ii, jj;
int A[DIM][DIM];
int main()
{
ifstream f("piese.in");
ofstream g("piese.out");
f>>M>>N;
for (i=1;i<=M;i++)
for (j=1;j<=N;j++)
if (A[i][j] == 0) {
patrat++;
k=1;
while (i+2*k-1<=M && j+2*k-1<=N)
k*=2;
for (ii=i;ii<=i+k-1;ii++)
for (jj = j;jj<=j+k-1;jj++)
A[ii][jj] = patrat;
}
f.close();
g<<patrat<<"\n";
for (i=1;i<=M;i++) {
for (j=1;j<=N;j++)
g<<A[i][j]<<" ";
g<<"\n";
}
g.close();
return 0;
}