Pagini recente » Cod sursa (job #2651295) | Cod sursa (job #2091867) | Cod sursa (job #1638074) | Cod sursa (job #364360) | Cod sursa (job #3229759)
#include <fstream>
#include <algorithm>
#include <vector>
#include <map>
#include <cmath>
#define ll long long
using namespace std;
ifstream cin("piese.in");
ofstream cout("piese.out");
const int NMAX = 500;
int n, m, blocks;
int a[NMAX + 1][NMAX + 1];
int main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
if(a[i][j] == 0)
{
blocks++;
int p2 = 1;
while(i + (p2 * 2) - 1 <= n && j + (p2 * 2) - 1 <= m)
p2 *= 2;
for(int x = i; x <= i + p2 - 1; x++)
for(int y = j; y <= j + p2 - 1; y++)
a[x][y] = blocks;
}
cout << blocks << '\n';
for(int i = 1; i <= n; i++, cout << '\n')
for(int j = 1; j <= m; j++)
cout << a[i][j] << ' ';
return 0;
}