Pagini recente » Cod sursa (job #2159472) | Cod sursa (job #2616321) | Cod sursa (job #2957775) | Cod sursa (job #881834) | Cod sursa (job #316155)
Cod sursa(job #316155)
#include<stdio.h>
int a[501][501],b[10],i,j,k,mini,n,i1,m,l,c;
int putmin(int a)
{ for(i1=8;i1>=0&&b[i1]>a;--i1);
return i1;
}
int min(int a,int b)
{ if(a<b) return a;
return b;
}
int main()
{ freopen("piese.in","r",stdin);
freopen("piese.out","w",stdout);
scanf("%d %d",&n,&m);
b[0]=1;
for(i=1;i<=8;i++) b[i]=2*b[i-1];
i=1;
j=1;
while(i<=n) { k=putmin(min(n-i+1,m-j+1));
mini++;
for(l=i;l<=i+b[k]-1;l++)
for(c=j;c<=j+b[k]-1;c++) a[l][c]=mini;
j=j+b[k];
if(j>m) { j=1;
i=i+b[k];
if(i<=n)
while(a[i][j]) ++j;
}
}
printf("%d\n",mini);
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++) printf("%d ",a[i][j]);
printf("\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}