Pagini recente » Cod sursa (job #94713) | Cod sursa (job #2951321) | Cod sursa (job #2414439) | Cod sursa (job #2247059) | Cod sursa (job #1971322)
#include<fstream>
using namespace std;
ifstream in("piese.in");
ofstream out("piese.out");
int mat[505][505],s,i,j,a,b,n,m,k;
int main(){
in >> n >> m;
for( k = 512; k >= 1; k/=2){
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= m; j ++ ){
if( n-i+1 >= k && m-j+1 >= k && mat[i][j] == 0 ){
s++;
for( a = i; a <= i + k-1; a ++ ){
for( b = j; b <= j + k-1; b ++ ){
mat[a][b] = s;
}
}
}
}
}
}
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= m; j ++ ){
if( mat[i][j] == 0 ){
s++;
mat[i][j] = s;
}
}
}
out << s<<"\n";
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= m; j ++ ){
out<<mat[i][j]<<" ";
}
out<<"\n";
}
return 0;
}