Pagini recente » Autentificare | Istoria paginii runda/preoji2020 | Cod sursa (job #1681132) | Istoria paginii runda/cei_mai_mari_olimpicari_runda_3 | Cod sursa (job #1872389)
#include <fstream>
using namespace std;
int a[510][510];
int n, m, lat, piese;
int main () {
ifstream fin ("piese.in");
ofstream fout("piese.out");
fin>>n>>m;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
if (a[i][j] == 0) {
piese ++;
lat = 1;
while (i+2*lat-1 <= n && j+2*lat-1 <= m)
lat *= 2;
for (int ii=0;ii<lat;ii++)
for (int jj=0;jj<lat;jj++)
a[i+ii][j+jj] = piese;
}
fout<<piese<<"\n";
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
return 0;
}