Pagini recente » Cod sursa (job #2502734) | Cod sursa (job #3002636) | Cod sursa (job #545371) | Cod sursa (job #1989473) | Cod sursa (job #2554421)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("piese.in");
ofstream fout("piese.out");
int sol[502][502], n, m;
void lol(int x1, int y1, int x2, int y2, int val){
for(int i=x1;i<=x2;++i){
for(int j=y1;j<=y2;++j){
sol[i][j]=val;
}
}
}
void lol2(int &x, int &y){
int p2=1;
while(x+p2-1<=n&&y+p2-1<=m){
p2*=2;
}
p2/=2;
x=x+p2-1;
y=y+p2-1;
}
int main()
{
fin>>n>>m;
int cnt=0;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
if(!sol[i][j]){
int i2=i, j2=j;
lol2(i2, j2);
cnt++;
lol(i, j, i2, j2, cnt);
}
}
}
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
fout<<sol[i][j]<<" ";
}
fout<<"\n";
}
return 0;
}