Cod sursa(job #1280462)

Utilizator cojocarugabiReality cojocarugabi Data 1 decembrie 2014 23:08:18
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("piese.in");
ofstream fo("piese.out");
int s[505][505],p=0;
void acopera(int x,int y,int z,int t)
{
    if (x > y || z > t) return ;
    int n=min(y-x+1,t-z+1);
    int l=1;
    while (l*2<=n) l*=2;++p;
    for (int i=x;i<x+l;++i)
        for (int j=z;j<z+l;++j) s[i][j]=p;
    acopera(x+l,y,z,z+l-1);
    acopera(x,y,z+l,t);
}
int main(void)
{
    int n,m;
    fi>>n>>m;
    acopera(1,n,1,m);
    fo << p << '\n';
    for (int i=1;i<=n;++i,fo<<'\n') for (int j=1;j<=m;++j) fo << s[i][j] << ' ';
    return 0;
}