Cod sursa(job #3136849)

Utilizator profinfo114Prof Info profinfo114 Data 8 iunie 2023 22:26:59
Problema Piese Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("piese.in");
ofstream fout("piese.out");

int n, m, minim, v[505][505];

int main() {
    fin >> n >> m;
    fin.close();
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            if(v[i][j] == 0) {
                int x = i, y = j;
                int putere = 1;
                while(x + putere - 1 <= n && y + putere - 1 <= m) {
                    putere *= 2;
                }
                putere /= 2;
                x += (putere - 1);
                y += (putere - 1);
                minim++;
                for(int k = i; k <= x; k++) {
                    for(int l = j; l <= y; l++) {
                        v[k][l] = minim;
                    }
                }
            }
        }
    }
    fout << minim << "\n";
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            fout << v[i][j] << " ";
        }
        fout << "\n";
    }
    return 0;
}