Pagini recente » Cod sursa (job #2448156) | Cod sursa (job #3137240) | Cod sursa (job #1151066) | Profil Prekzursil | Cod sursa (job #2152712)
#include <cstdio>
#define MAXN 500
int a[MAXN][MAXN];
int main() {
FILE *fin, *fout;
int n, m, k, val;
fin = fopen("piese.in", "r");
fscanf(fin, "%d%d", &n, &m);
fclose(fin);
val = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (!a[i][j]) {
k = 1;
while (i + 2 * k - 1 < n && j + 2 * k - 1 < m) {
k *= 2;
}
++val;
for (int l = i; l < i + k; ++l) {
for (int c = j; c < j + k; ++c) {
a[l][c] = val;
}
}
}
}
}
fout = fopen("piese.out", "w");
fprintf(fout, "%d\n", val);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
fprintf(fout, "%d ", a[i][j]);
}
fprintf(fout, "\n");
}
fclose(fout);
return 0;
}