Cod sursa(job #2792788)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 noiembrie 2021 12:12:52
Problema Tablete Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.51 kb
#include<fstream>
using namespace std;
ifstream F("tablete.in");
ofstream G("tablete.out");
int n,k,i,j,l,t;
int main()
{
    F>>n>>k;
    if(k%2==0)
        for(i=1,l=n*k;i<=n;++i,l+=n-k) {
            for(j=1;j<=k;++j)
                G<<(i-1)*k+j<<' ';
            for(j=k+1;j<=n;++j)
                G<<l+j-k<<' ';
            G<<'\n';
        }
    if(k%2&&n%2==0)
        for(i=1,l=n*k;i<=n;++i,l+=n-k)
            if(i%2) {
                for(j=1;j<k;++j)
                    G<<(i-1)*k+j<<' ';
                for(G<<i*k+1<<' ',j=k+1;j<=n;++j)
                    G<<l+j-k<<' ';
                G<<'\n';
            } else {
                for(G<<k*(i-1)<<' ',j=2;j<=k;++j)
                    G<<k*(i-1)+j<<' ';
                for(j=k+1;j<=n;++j)
                    G<<l+j-k<<' ';
                G<<'\n';
            }
    if(k%2&&n%2) {
        for(i=1,l=n*k;i<n;++i,l+=n-k)
            if(i%2) {
                for(j=1;j<k;++j)
                    G<<(i-1)*k+j<<' ';
                for(G<<i*k+1<<' ',j=k+1;j<=n;++j)
                    G<<(i==1&&j==k+1?n*k:l+j-k)<<' ';
                G<<'\n';
            } else {
                for(G<<k*(i-1)<<' ',j=2;j<=k;++j)
                    G<<k*(i-1)+j<<' ';
                for(j=k+1;j<=n;++j)
                    G<<l+j-k<<' ';
                G<<'\n';
            }
        for(i=1;i<k;++i)
            G<<(n-1)*k+i<<' ';
        for(G<<n*k+1<<' ',i=k+1;i<=n;++i)
            G<<l+i-k<<' ';
        G<<'\n';
    }
    return 0;
}