Cod sursa(job #133179)
| Utilizator | Data | 7 februarie 2008 20:11:16 | |
|---|---|---|---|
| Problema | Piese | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<stdio.h>
int l,l2,m,n,a[100][100],i,j,k,marc;
int main(){
FILE *f=fopen("piese.in","r");
fscanf(f,"%d %d",&n,&m);
fclose(f);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(a[i][j]==0){
marc++;
for(k=1;k+i-1<=n&&k+j-1<=m;k*=2);
k/=2;
for(l=i;l<i+k;l++){
for(l2=j;l2<j+k;l2++){
a[l][l2]=marc;
}
}
}
}
}
FILE *g=fopen("piese.out","w");
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fprintf(g,"%d ",a[i][j]);
}
fprintf(g,"\n");
}
fclose(g);
return 0;
}
