Cod sursa(job #1139654)
Utilizator | Data | 11 martie 2014 13:04:59 | |
---|---|---|---|
Problema | Piese | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
#include<fstream>
using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
int a[105][105],i,j,k,ok,minim,maxim,o,p,x,y,z,n,m,l,c,sol,ii,jj;
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(a[i][j]==0){
l=1;
while(i+l-1<=n&&j+l-1<=m)
l*=2;
l/=2;
sol++;
for(ii=i;ii<=i+l-1;ii++){
for(jj=j;jj<=l+j-1;jj++)
a[ii][jj]=sol;
}
}
}
}
fout<<sol<<"\n";
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fout<<a[i][j]<<" ";
}
fout<<"\n";
}
return 0;
}