Cod sursa(job #1872389)
| Utilizator | Data | 8 februarie 2017 10:42:03 | |
|---|---|---|---|
| Problema | Piese | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#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;
}
