Cod sursa(job #567165)

Utilizator pykhNeagoe Alexandru pykh Data 29 martie 2011 19:44:59
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>
using namespace std;

const char in[]="piese.in";
const char out[]="piese.out";

const int D_Max = 505;

int A[D_Max][D_Max], N, M, sol, p;

int main()
	{
		freopen(in,"r", stdin);
		freopen(out,"w",stdout);
		scanf("%d %d", &N, &M);
		for(int i = 0; i < N ; ++i)
			for(int j = 0 ; j < M ;++j)
			{
				if(!A[i][j])
				{
					++sol;
					p = 1;
					while( i + (2*p) <= N && j + (2*p)  <= M)p *= 2;
					for(int ii = i ; ii < i + p  ; ++ii)
						for(int jj = j ; jj < j + p ; ++jj)
							A[ii][jj] = sol;
			}
			}
		printf("%d\n", sol);
			
		for(int i = 0 ; i < N ; ++i){
			for(int j = 0 ; j < M ;++j)
				printf("%d ", A[i][j]);
			printf("\n");}
return 0;

}