Cod sursa(job #2328518)

Utilizator qThunderStefan Durlanescu qThunder Data 25 ianuarie 2019 20:53:03
Problema Tablete Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.37 kb
#include <fstream>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int m,n,i,j;
int main()
{
    fin>>n;
    fin>>m;
    if(n%2==0)
    {
        if(m%2==0)
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                    fout<<(i-1)*n+j<<" ";
                fout<<"\n";
            }
        }
        else
        {
            for(int i=1;i<n-1;i++)
            {
                for(int j=1;j<=n;j++)
                    fout<<(i-1)*n+j+1<<" ";
                fout<<"\n";
            }
            int n1=(n-2)*n;
            for(int j=1;j<=n-1;j++)
                    fout<<n1+j+1<<" ";
            fout<<n*n<<"\n";
            fout<<1<<" ";
            n1+=n;
            for(int j=1;j<n;j++)
                fout<<n1+j<<" ";
        }
    }
    else
    {
        if(m%2==1)
        {
            int n1=1;
            for(int t=1;t<n/2;t++)
            {
                for(int j=1;j<n;j++)
                    fout<<n1+j<<" ";
                n1+=n;
                fout<<n1+n<<"\n";
                for(int j=0;j<n;j++)
                    fout<<n1+j<<" ";
                fout<<"\n";
                n1+=n;
            }
            for(int j=1;j<n;j++)
                fout<<n1+j<<" ";
            n1+=n;
                fout<<n1+n<<"\n";
            for(int j=0;j<n-1;j++)
                    fout<<n1+j<<" ";
                fout<<n*n<<"\n";
                n1+=n;
            fout<<"1 "<<n1-1<<" ";
            for(int j=1;j<n-1;j++)
                    fout<<n1+j<<" ";
        }
        else
        {
            int n1=1;
            for(int t=1;t<n/2;t++)
            {
                for(int j=0;j<n;j++)
                    fout<<n1+j<<" ";
                fout<<"\n";
                n1+=n;
                for(int j=1;j<n;j++)
                    fout<<n1+j<<" ";
                n1+=n;
                fout<<n1+n<<"\n";
            }
            for(int j=0;j<n-1;j++)
                fout<<n1+j<<" ";
            n1+=n;
                fout<<n*(n-1)<<"\n";
                n1+=n;
            fout<<1+n<<" "<<n1-1<<" ";
            for(int j=1;j<n-1;j++)
                    fout<<n1+j<<" ";
            fout<<"\n";
            for(int j=0;j<n-1;j++)
                    fout<<n1+j<<" ";
        }
    }
    return 0;
}