Cod sursa(job #410174)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 4 martie 2010 10:10:21
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

int a[505][505];
int t,n,m,i,ii,j,jj,p2,min;

int main(){
	FILE *f = fopen("piese.in","r");
	FILE *g = fopen("piese.out","w");
	fscanf(f,"%d %d",&n, &m);
	
	for (i=1;i<=n;i++) 
		for (j=1;j<=m;j++)
			if (a[i][j]==0) {
				min = n-i+1;
				if (min>m-j+1)
					min = m-j+1;
				p2 = 1;
				while (2*p2<=min)
					p2 = p2*2;
				
				t++;
				for (ii=i;ii<=i+p2-1;ii++)
					for (jj=j;jj<=j+p2-1;jj++)
						a[ii][jj] = t;
			}
	
	fclose(f);

	fprintf(g,"%d\n",t);
	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;
}