Cod sursa(job #3157613)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 16 octombrie 2023 12:15:22
Problema Tablete Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int i,j,r,k,n,p,v[1012][1012],l;
char w[100020],c[10];
int main()
{
    for(f>>n>>k,i=1;i<=n;++i)
        for(j=1;j<=k;++j)
            v[i][j]=++r;
    for(i=1;i<=n;++i)
        for(j=k+1;j<=n;++j)
            v[i][j]=++r;
    if(k&1) {
        for(i=2;i<=n;i+=2)
            swap(v[i][1],v[i-1][k]);
        if(n&1)
            swap(v[n][k],v[1][k+1]);
    }
    for(i=1;i<=n;++i,w[++p]='\n')
        for(j=1;j<=n;++j) {
            for(l=0;v[i][j];c[++l]=char(v[i][j]%10+'0'),v[i][j]/=10);
            for(k=l;k;--k)
                w[++p]=c[k];
            w[++p]=' ';
            if(p>=100000)
                w[++p]=0,g<<(w+1),p=0;
        }
    w[++p]=0;
    if(p)
        g<<(w+1);
    return 0;
}