Pagini recente » Cod sursa (job #276103) | Cod sursa (job #3179735) | Cod sursa (job #737471) | Cod sursa (job #3234861) | Cod sursa (job #733689)
Cod sursa(job #733689)
#include <fstream>
using namespace std;
ifstream f("piese.in"); ofstream g("piese.out");
int v[505][505];
int i, j, n, m, p;
void Acp (int x1, int y1, int x2, int y2)
{
int d, k;
p++;
k=min(x2-x1+1, y2-y1+1);
d=1;
while (d*2<=k)
d*=2;
for (i=x1; i<x1+d; i++)
for (j=y1; j<y1+d; j++)
v[i][j]=p;
if (x1+d-1!=x2)
Acp (x1+d, y1, x2, y1+d-1);
if (y1+d-1!=y2)
Acp (x1, y1+d, x1+d-1, y2);
if (x1+d-1!=x2 && y1+d-1!=y2)
Acp (x1+d, y1+d, x2, y2);
}
int main()
{
f>>n>>m;
Acp (1,1, n, m);
g<<p<<"\n";
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
g<<v[i][j]<<" ";
g<<"\n";
}
}