Cod sursa(job #969690)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 5 iulie 2013 01:16:58
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<cstdio>
int m,n,i,j,x[501][501],l,c,k,nr;
FILE *f,*g;
int main(){
	f=fopen("piese.in","r");
	g=fopen("piese.out","w");
	fscanf(f,"%d %d",&m,&n);
	nr=0;
	for(i=1;i<=m;i++){
		for(j=1;j<=n;j++){
			if(x[i][j]==0){
				k=1;
				while(i+k-1<=m && j+k-1<=n){
					k=k*2;
				}
				k/=2;
				nr++;
				for(l=i;l<=i+k-1;l++){
					for(c=j;c<=j+k-1;c++){
						x[l][c]=nr;
					}
				}
			}
		}
	}
	fprintf(g,"%d\n",nr);
	for(i=1;i<=m;i++){
		for(j=1;j<=n;j++){
			fprintf(g,"%d ",x[i][j]);
		}
		fprintf(g,"\n");
	}
	fclose(f);
	fclose(g);
	return 0;
}