Cod sursa(job #2939125)
Utilizator | Data | 13 noiembrie 2022 01:09:15 | |
---|---|---|---|
Problema | Piese | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.9 kb |
#include <fstream>
#define nmax 505
using namespace std;
int n,m,ct,v[nmax][nmax],d[4]= {8,4,2,1};
int main()
{
ifstream f ("piese.in");
ofstream g ("piese.out");
f>>n>>m;
int mn=min(n,m);
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
{
if (v[i][j]==0)
{
ct++;
mn=min(n-i+1,m-j+1);
for (int pi=0; pi<=3; pi++)
if (mn>=d[pi])
{
mn=d[pi];
break;
}
for (int i1=i; i1<=i+mn-1; i1++)
for (int j1=j; j1<=j+mn-1; j1++)
v[i1][j1]=ct;
}
}
}
g<<ct<<'\n';
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
g<<v[i][j]<<' ';
g<<'\n';
}
}