Pagini recente » Cod sursa (job #458758) | Cod sursa (job #2883734) | Cod sursa (job #693908) | Cod sursa (job #1089635) | Cod sursa (job #3136849)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
int n, m, minim, v[505][505];
int main() {
fin >> n >> m;
fin.close();
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
if(v[i][j] == 0) {
int x = i, y = j;
int putere = 1;
while(x + putere - 1 <= n && y + putere - 1 <= m) {
putere *= 2;
}
putere /= 2;
x += (putere - 1);
y += (putere - 1);
minim++;
for(int k = i; k <= x; k++) {
for(int l = j; l <= y; l++) {
v[k][l] = minim;
}
}
}
}
}
fout << minim << "\n";
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
fout << v[i][j] << " ";
}
fout << "\n";
}
return 0;
}