Cod sursa(job #3331984)

Utilizator YannYann Spataru Yann Data 2 ianuarie 2026 16:33:07
Problema Tablete Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>

using namespace std;
    ifstream cin("tablete.in");
    ofstream cout("tablete.out");
    int ma[1001][1001],f[1000001];
int main()
{
    int n,k,nrp,nr,y,x;
    cin>>n>>k;
    nrp=(k-1)/2*4;
    if(nrp<1)
        nrp=2;
    for(int n2=1;n2<=n;n2++) {
        while(f[nrp]>0)
            nrp+=2;
        ma[n2][k]=nrp;
        nr=nrp-1;
        f[nrp]++;
        for(int n3=k-1;n3>=1;n3--, nr--) {
            while(f[nr]>0 && nr>0)
                nr--;
            ma[n2][n3]=nr;
            f[nr]++;
            if(nr==0) {
                for(n3=n3;n3<=k;n3++)
                    f[ma[n2][n3]]--;
                n2--;
                break;
            }
        }
        nrp+=2;
    }
    y=1;
    x=k+1;
    for(nr=1;nr<=n*n;nr++) {
        if(f[nr]==0) {
            ma[y][x]=nr;
            x++;
            if(x>n) {
                y++;
                x=k+1;
            }
        }
    }
    for(y=1;y<=n;y++) {
        for(x=1;x<=n;x++)
            cout<<ma[y][x]<<" ";
        cout<<'\n';
    }
    return 0;
}