Cod sursa(job #1023289)

Utilizator Athena99Anghel Anca Athena99 Data 6 noiembrie 2013 19:07:47
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;

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

const int nmax= 500;

int sol[nmax+1][nmax+1];

int main(  ) {
    int n, m;
    fin>>n>>m;

    int k= 1;
    for ( int i= 1; i<=n; ++i ) {
        for ( int j= 1; j<=m; ++j ) {
            if ( sol[i][j]==0 ) {
                int x;
                for ( x= 1; i-1+2*x<=n && j-1+2*x<=m; x*= 2 );
                
                for ( int i2= i; i2<i+x; ++i2 ) {
                    for ( int j2= j; j2<j+x; ++j2 ) {
                        sol[i2][j2]= k;
                    }
                }
                ++k;
            }
        }
    }

    fout<<k-1<<"\n";
    for ( int i= 1; i<=n; ++i ) {
        for ( int j= 1; j<=m; ++j ) {
            fout<<sol[i][j]<<" ";
        }
        fout<<"\n";
    }

    return 0;
}