Cod sursa(job #1711583)

Utilizator popabogdanPopa Bogdan Ioan popabogdan Data 31 mai 2016 18:45:29
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
typedef int matrice[501][501];
matrice a;
int n,m,i,j,pr,f;
int lg[501];
void umple(int pr, int x, int y, int pt)
{
    int i,j;
    for(i=x;i<=x+pt-1;i++)
        for(j=y;j<=y+pt-1;j++)a[i][j]=pr;
}
int main()
{
    fin>>n>>m;
    for(i=2;i<=max(n,m);i++)lg[i]=1+lg[i/2];
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(!a[i][j])
        {
            pr++;
            f=min(n-i+1,m-j+1);
            umple(pr,i,j,(1<<lg[f]));
        }
    fout<<pr<<"\n";
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)fout<<a[i][j]<<" ";
        fout<<"\n";
    }
    return 0;
}