Pagini recente » Cod sursa (job #811494) | Cod sursa (job #1473423) | Cod sursa (job #832974) | Cod sursa (job #1181362) | Cod sursa (job #1181216)
#include <fstream>
using namespace std;
const int Nmax=505;
ifstream fin("piese.in");
ofstream fout("piese.out");
int A[Nmax][Nmax];
void filll(const int x1, const int y1, const int x2, const int y2, const int val)
{
for(int i=x1;i<x2;i++)
{
for(int j=y1;j<y2;j++)
{
A[i][j]=val;
}
}
}
int main()
{
int N, M;
fin>>N>>M;
int sol=0;
for(int i=1;i<=N;i++)
{
for(int j=1;j<=M;j++)
{
if(A[i][j]) continue;
sol++;
int k;
for(k=1;i+k-1<=N&&j+k-1<=M;k<<=1);
k>>=1;
filll(i, j, i+k, j+k, sol);
}
}
fout<<sol<<"\n";
for(int i=1;i<=N;i++)
{
for(int j=1;j<=M;j++) fout<<A[i][j]<<" ";
fout<<"\n";
}
fin.close();
fout.close();
}