Pagini recente » Cod sursa (job #900885) | Cod sursa (job #2216214) | Cod sursa (job #1127336) | Cod sursa (job #914899) | Cod sursa (job #516600)
Cod sursa(job #516600)
//Craciun Fericit!
#include <cstdio>
#define file_in "piese.in"
#define file_out "piese.out"
#define nmax (1<<9)
int N,M;
int i,j,k,nr,j1,i1;
int a[nmax][nmax];
inline int min(int a, int b) { return a<b?a:b; }
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &N, &M);
nr=0;
for (i=1;i<=N;++i)
for (j=1;j<=M;++j){
if (a[i][j])
continue;
k=1;
while(k<=min(N-i+1,M-j+1))
k*=2;
k/=2;
nr++;
for (i1=i;i1<i+k;++i1)
for (j1=j;j1<j+k;++j1)
a[i1][j1]=nr;
}
printf("%d\n", nr);
for (i=1;i<=N;++i){
for (j=1;j<=M;++j)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}