Cod sursa(job #772204)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 28 iulie 2012 18:58:45
Problema Piese Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
using namespace std;
int a[501][501];

int main(void){
    ifstream fin("piese.in");
    ofstream fout("piese.out");
     int i,n,m,aux,nr=0,i1,j1,j,plus;
    fin>>n>>m;
    for (i=1; i<=n; ++i)
     for (j=1; j<=m; ++j)
      if (a[i][j]==0) {
                      ++nr; aux=0; plus=0;
                      while ( (i+1<<aux<=n)&&(j+1<<aux<=m) ) ++aux; 
                       if (aux>0) {--aux; plus=1<<aux; }
                      for (i1=i; i1<=i+plus; ++i1)
                       for (j1=j; j1<=j+plus; ++j1) a[i1][j1]=nr;
                       }
    fout<<nr<<"\n";
    for (i=1; i<=n; ++i){
     for (j=1; j<=m; ++j) fout<<a[i][j]<<" ";
      fout<<"\n";
      }
   return(0);
}