Pagini recente » Cod sursa (job #629494) | Cod sursa (job #1139553) | Cod sursa (job #2774994) | Cod sursa (job #2963161) | Cod sursa (job #517771)
Cod sursa(job #517771)
#include <fstream>
using namespace std;
int M, N;
int result[502][502];
int nop;
int main()
{
ifstream fin("piese.in");
ofstream fout("piese.out");
fin >> M >> N;
for (int i = 1; i <= M; ++i)
for (int j = 1; j <= N; ++j)
if (result[i][j] == 0)
{
++nop;
int can = 1;
while (i + (can << 1) - 1 <= M && j + (can << 1) - 1 <= N)
can <<= 1;
for (int i2 = i; i2 <= i + can - 1; ++i2)
for (int j2 = j; j2 <= j + can - 1; ++j2)
result[i2][j2] = nop;
}
fout << nop;
for (int i = 1; i <= M; ++i)
{
fout << '\n';
for (int j = 1; j <= N; ++j)
fout << result[i][j] << ' ';
}
fin.close();
fout.close();
}