Pagini recente » Cod sursa (job #2773120) | Cod sursa (job #1610323) | Cod sursa (job #1429165) | Cod sursa (job #2454070) | Cod sursa (job #529998)
Cod sursa(job #529998)
#include<stdio.h>
FILE *fin, *fout;
int m,n,i,j,a[51][51],k,min,l,q,w;
int putere(int x){
int n=1;
while(n*2<=x){
n*=2;
}
return n;
}
int main(){
fin=fopen("piese.in","r");
fout=fopen("piese.out","w");
fscanf(fin,"%d %d",&m,&n);
for(i=1;i<=m;i++){
for(j=1;j<=n;j++){
if(a[i][j]==0){
k++;
min=m-i+1;
if(min>n-j+1){
min=n-j+1;
}
l=putere(min);
for(q=i;q<=i+l-1;q++){
for(w=j;w<=j+l-1;w++){
a[q][w]=k;
}
}
}
}
}
fprintf(fout,"%d\n",k);
for(i=1;i<=m;i++){
for(j=1;j<=n;j++){
fprintf(fout,"%d ",a[i][j]);
}
fprintf(fout,"\n");
}
fclose(fout);
fclose(fin);
return 0;
}