Pagini recente » Rating Grigorescu Octavian (sTpP) | pregatire_oni_baraj_juniori | Cod sursa (job #2256232) | Cod sursa (job #2685741) | Cod sursa (job #2030503)
#include<fstream>
using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
int n,m,i,j,p1,p2,L,nr;
int a[501][501];
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
L=1;
if(a[i][j]!=0)
continue;
while(i+L-1<=n&&j+L-1<=m&&a[i][j+L-1]==0&&a[i+L-1][j]==0)
L*=2;
L/=2;
nr++;
for(p1=i;p1<=i+L-1;p1++)
for(p2=j;p2<=j+L-1;p2++)
a[p1][p2]=nr;
}
}
fout<<nr<<"\n";
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
return 0;
}