Cod sursa(job #1641632)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 9 martie 2016 08:59:18
Problema Piese Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
# include <fstream>
# define DIM 510
using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
int sol,ii,n,m,l[DIM],c[DIM],v[DIM][DIM],p[DIM],i,j,nrl[DIM],nrc[DIM];
int main () {
    p[1]=1;
    for(i=2;i<=DIM-2;i++)
        p[i]=p[i/2]*2;
    fin>>n>>m;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            if(nrl[i]!=0){
                nrl[i]--;
                v[i][j]=v[i][j-1];
                nrc[j]=ii;
            }
            else{
                if(nrc[j]!=0){
                    nrc[j]--;
                    v[i][j]=v[i-1][j];
                }
                else{
                    sol++;
                    nrl[i]=p[min(n-i+1,m-j+1)]-1;
                    ii=nrl[i];
                    nrc[j]=ii;
                    v[i][j]=sol;
                }
            }
        }
    }
    fout<<sol<<"\n";
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++)
            fout<<v[i][j]<<" ";
        fout<<"\n";
    }
    return 0;
}