Cod sursa(job #1743985)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 19 august 2016 01:42:29
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream cin("piese.in");
ofstream cout("piese.out");

int lg[510];

int a[510][510];

void Fill(int nr, int x, int y, int pow) {
    for (int i = x; i <= x + pow - 1; i++)
        for (int j = y; j <= y + pow - 1; j++)
            a[i][j] = nr;
}

int main() {
    int n, m, nr = 0;
    cin >> n >> m;
    for (int i = 2; i <= max(n, m); i++)
        lg[i] = lg[i / 2] + 1;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            if (!a[i][j]) {
                nr++;
                Fill(nr, i, j, 1 << lg[min(n - i + 1, m - j + 1)]);
            }
    cout << nr << "\n";
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++)
            cout << a[i][j] << " ";
        cout << "\n";
    }
    return 0;
}