Cod sursa(job #2939125)

Utilizator Darius1414Dobre Darius Adrian Darius1414 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';
    }
}