Cod sursa(job #2913701)

Utilizator LORDENVraja Luca LORDEN Data 16 iulie 2022 11:30:35
Problema Piese Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
///#include "iostream"
#include <fstream>

using namespace std ;

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

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

int main()
{

    int pieces = 0, lat ;

    cin >> n >> m ;

    for (int i = 1 ; i <= n ; i ++)
    {

        for (int j = 1 ; j <= m ; j ++)
        {

            if (v[i][j] == 0)
            {

                pieces ++ ;
                lat = 1 ;

                while (2 * lat - 1 + i <= n && 2 * lat - 1 + j <= m)
                    lat *= 2 ;

                for (int i1 = 1 ; i1 <= lat ; i1 ++)
                    for (int j1 = 1 ; j1 <= lat ; j1 ++)
                        v[i + i1 - 1][j + j1 - 1] = pieces ;

            }

        }

    }

    cout << pieces << '\n' ;

    for (int i = 1 ; i <= n ; i ++)
    {

        for (int j = 1 ; j <= m ; j ++)
            cout << v[i][j] << ' ' ;

        cout << '\n' ;

    }

    return 0 ;

}