Cod sursa(job #124963)

Utilizator tvladTataranu Vlad tvlad Data 20 ianuarie 2008 10:38:13
Problema Piese Scor 100
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasa a 9-a Marime 0.68 kb
#include <cstdio>
#include <vector>
using namespace std;

const int N = 500;

int n,m,cur;
int a[N][N];

int main() {
	freopen("piese.in","rt",stdin);
	freopen("piese.out","wt",stdout);
	scanf("%d %d",&n,&m);
	cur = 0;
	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < m; ++j) {
			if (a[i][j] == 0) {
				int x = min(n-i,m-j), step = 1<<10;
				for (; step > x; step >>= 1);
				++cur;
				for (int t = 0; t < step; ++t) {
					for (int k = 0; k < step; ++k) {
						a[i+t][j+k] = cur;
					}
				}
			}
		}
	}
	printf("%d\n",cur);
	for (int i = 0; i < n; ++i) {
		for (int j = 0; j < m ;++j) {
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}