Cod sursa(job #520723)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 10 ianuarie 2011 10:09:38
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <math.h>
FILE *f=fopen("piese.in","r");
FILE *g=fopen("piese.out","w");
int n,m,a[501][501];
int min=0,nr=0,d;


int main(void){
	int i,j;
	
	fscanf(f,"%d %d",&n,&m);
	fclose(f);
	int x=(m<n?m:n);
	int p2;
	int ki,kj,k=0;
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			if(a[i][j]==0){
				p2=1; k++;
				while(i+2*p2-1<=n && j+2*p2-1<=m){
					p2*=2;
				}
				for(ki=i;ki<=i+p2-1;ki++){
					for(kj=j;kj<=j+p2-1;kj++){
						a[ki][kj]=k;
					}
				}
			}
		}
	}
	fprintf(g,"%d\n",k);
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++)
			fprintf(g,"%d ",a[i][j]);
		fprintf(g,"\n");
	}
	return 0;
}