Pagini recente » Cod sursa (job #1567798) | Cod sursa (job #2039932) | Cod sursa (job #865061) | Cod sursa (job #883757) | Cod sursa (job #196192)
Cod sursa(job #196192)
#include <stdio.h>
int N, M;
int a[510][510];
inline int MIN(int a, int b) { return (a < b) ? a : b; }
int main()
{
int i, j, ii, jj, k, nr = 0;
freopen("piese.in", "r", stdin);
freopen("piese.out", "w", stdout);
scanf("%d %d", &N, &M);
for (i = 1; i <= N; i++)
for (j = 1; j <= M; j++) {
if (a[i][j]) continue;
for (k = 1; k <= MIN(N - i + 1, M - j + 1); k <<= 1); k >>= 1;
nr++;
for (ii = i; ii < i + k; ii++)
for (jj = j; jj < j + k; jj++)
a[ii][jj] = nr;
}
for (i = 1; i <= N; i++) {
for (j = 1; j <= M; j++) printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}