Cod sursa(job #2974413)

Utilizator VmanDuta Vlad Vman Data 4 februarie 2023 03:37:23
Problema Piese Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
using namespace std;

int a[501][501];

int main() {
    freopen("piese.in", "r", stdin);
    freopen("piese.out", "w", stdout);
    
    int n, m, cnt = 0;
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            if (a[i][j] != 0) {
                continue;
            }
            ++cnt;
            
            int lim = min(n - i, m - j);
            int p = 1;
            while ((p << 1) <= lim) {
                p <<= 1;
            }
            for (int x = 0; x < p; ++x) {
                for (int y = 0; y < p; ++y) {
                    a[i + x][j + y] = cnt;
                }
            }
        }
    }
    
    cout << cnt << "\n";
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    
    return 0;
}