Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok
Cod sursa(job #2554421)
| Utilizator | Data | 22 februarie 2020 21:29:54 | |
|---|---|---|---|
| Problema | Piese | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.76 kb |
#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;
}
