Pagini recente » Cod sursa (job #1693344) | Cod sursa (job #456852) | Cod sursa (job #1864948) | Cod sursa (job #1268624) | Cod sursa (job #1966856)
#include <fstream>
using namespace std;
ifstream f("piese.in");
ofstream g("piese.out");
int n, m, i, doi[30], a[502][502], maxim;
int main()
{
f>>n>>m;
doi[0] = 1;
for(i = 1; i <= 10; ++ i)
doi[i] = doi[i-1] * 2;
int j, ii ,jj, latime, nr = 0;
for( i = 1; i <= n; ++ i)
{
for( j = 1; j <= m; ++ j)
{
if(a[i][j] == 0)
{
++nr;
latime = min(n - i, m - j) + 1;
for(ii = 0; ; ++ ii)
{
if( doi[ii] > latime )
break;
}
latime = doi[ii - 1];
for(ii = i; ii <= i + latime - 1; ++ ii)
{
for(jj = j; jj <= j + latime - 1; ++ jj)
a[ii][jj] = nr;
}
}
}
}
g<<nr<<'\n';
for(i = 1; i <= n; ++ i)
{
for(int j = 1; j <= m; ++ j)
g<<a[i][j]<<" ";
g<<'\n';
}
return 0;
}