Cod sursa(job #2023218)
| Utilizator | Data | 18 septembrie 2017 16:19:01 | |
|---|---|---|---|
| Problema | Piese | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <cstdio>
int a[505][505],i,j,ii,jj,k,sol,n,m;
int main()
{
freopen("piese.in","r",stdin);
freopen("piese.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(a[i][j]==0)
{
k=1;
while(i+k*2-1<=n&&j+k*2-1<=m)
k*=2;
sol++;
for(ii=i;ii<=i+k-1;ii++)
for(jj=j;jj<=j+k-1;jj++)
a[ii][jj]=sol;
}
}
}
printf("%d\n",sol);
for(i=1; i<=n; i++)
{
for(j=1;j<=m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
