Pagini recente » Cod sursa (job #1991706) | Cod sursa (job #2525854) | Cod sursa (job #2850926) | Cod sursa (job #688094) | Cod sursa (job #520723)
Cod sursa(job #520723)
#include <stdio.h>
#include <math.h>
FILE *f=fopen("piese.in","r");
FILE *g=fopen("piese.out","w");
int n,m,a[501][501];
int min=0,nr=0,d;
int main(void){
int i,j;
fscanf(f,"%d %d",&n,&m);
fclose(f);
int x=(m<n?m:n);
int p2;
int ki,kj,k=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(a[i][j]==0){
p2=1; k++;
while(i+2*p2-1<=n && j+2*p2-1<=m){
p2*=2;
}
for(ki=i;ki<=i+p2-1;ki++){
for(kj=j;kj<=j+p2-1;kj++){
a[ki][kj]=k;
}
}
}
}
}
fprintf(g,"%d\n",k);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
fprintf(g,"%d ",a[i][j]);
fprintf(g,"\n");
}
return 0;
}