Pagini recente » Cod sursa (job #1890473) | Cod sursa (job #423787) | Cod sursa (job #171759) | Cod sursa (job #478156) | Cod sursa (job #3176677)
#include <fstream>
using namespace std;
ifstream in("piese.in");
ofstream out("piese.out");
int n, m, ans;
int v[505][505];
void umpl(int istart, int jstart, int lat)
{
for(int i = istart; i<=istart + lat - 1; i++)
{
for(int j = jstart; j<=jstart + lat - 1; j++)
{
v[i][j] = ans;
}
}
}
int main()
{
in>>n>>m;
int lat;
for(int i = 1; i<=n; i++)
{
for(int j = 1; j<=m; j++)
{
if(v[i][j] == 0)
{
ans++;
lat = 1;
while(i + lat - 1 <= n && j + lat - 1 <= m)
{
lat *= 2;
}
lat /= 2;
umpl(i, j, lat);
}
}
}
out<<ans<<'\n';
for(int i = 1; i<=n; i++)
{
for(int j = 1; j<=m; j++)
{
out<<v[i][j]<<" ";
}
out<<'\n';
}
return 0;
}