Cod sursa(job #2581857)

Utilizator suntbossgiani kirita suntboss Data 15 martie 2020 21:19:50
Problema Tablete Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,k;

int main()
{
f>>n>>k;
if(n%2==0&&k%2==0)
{
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            g<<(i-1)*n+j<<" ";
        }
        g<<'\n';
    }
}
if(n%2==1&&k%2==0)
{
    for(int i=1;i<=n;i++)
    {
        g<<i<<" ";
    }
    g<<'\n';
    int last=n;
    for(int i=2;i<n;i+=2)
    {
        g<<last+1<<" ";
        for(int j=last+3;j<=last+3+n-2;j++)
        {
            g<<j<<" ";
        }
        g<<'\n';
        g<<last+2<<" ";
        for(int j=last+n;j<=last+2*n-2;j++)
        {
            g<<j<<" ";
        }
        g<<'\n';
        last+=2*n;
    }
}
if(n%2==0&&k%2==1)
{
    int first=1;
    for(int i=2;i<=n;i+=2)
    {
        g<<first<<" ";
        for(int j=first+n;j<=first+2*n-2;j++)
        {
            g<<j<<" ";
        }
        g<<'\n';
        for(int j=first+1;j<=first+1+n-2;j++)
        {
            g<<j<<" ";
        }
        g<<i*n<<'\n';
        first=i*n+1;
    }

}
if(n%2==1&&k%2==1)
{
    if(n>3)
    {
       int start=3*n+1;
        for(int i=4;i<n;i+=2)
        {
            g<<start<<" ";
            for(int j=start+2;j<=start+2+n-2;j++)
            {
                g<<j<<" ";
            }
            g<<'\n';
            g<<start+1<<" ";
            for(int j=start+n+1;j<=start+n+1+n-2;j++)
            {
                g<<j<<" ";
            }
            g<<'\n';
            start+=2*n;
        }
    }
}


}