Cod sursa(job #530004)

Utilizator cat_red20Vasile Ioana cat_red20 Data 6 februarie 2011 17:33:56
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int m,n,a[501][501],i,j,l,min,k,q,w;
FILE *fin,*fout;

int putere(int x){
	int p=1;
	while(p<=x){
		p=p*2;
	}
	return p/2;
}

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",k);
	for(i=1;i<=m;i++){
		fprintf(fout,"\n");
		for(j=1;j<=n;j++){
			fprintf(fout,"%d ",a[i][j]);
		}
	}
return 0;}