Cod sursa(job #2254609)

Utilizator IordachescuAncaFMI Iordachescu Anca Mihaela IordachescuAnca Data 5 octombrie 2018 17:07:14
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.69 kb
#include<fstream>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n,k,i,j,c,s,p,a[1002][1002];
int main()
{
    fin>>n>>k;
    if(n%2==0&&k%2==0)
    {
        c=0;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                c++;
                fout<<c<<" ";
            }
            fout<<"\n";
        }
    }
    if(n%2==0&&k%2==1)
    {
        s=0;
        p=2*n;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                if(j==1)
                {
                    if(i%2==1)
                    {
                        fout<<n*s+1<<" ";
                        c=n*s+2;
                    }
                    else
                    {
                        fout<<n*s+2<<" ";
                        s=s+2;

                    }
                }
                else
                {
                    if(j==n)
                    {
                        if(i%2==1)
                        {
                            fout<<p-1<<" ";
                        }
                        else
                        {
                            fout<<p<<" ";
                            p=p+2*n;
                        }
                    }
                    else
                    {
                        c++;
                        fout<<c<<" ";
                    }
                }
            }
            fout<<"\n";
        }
    }
    if(n%2==1&&k%2==0)
    {
        s=0;
        p=2*n;
        for(i=1;i<=n-1;i++)
        {
            for(j=1;j<=n;j++)
            {
                if(j==n)
                {
                    if(i%2==1)
                    {
                        fout<<p-1<<" ";
                    }
                    else
                    {
                        fout<<p<<" ";
                        p=p+2*n;
                    }
                }
                else
                {
                 if(j==1&&i%2==1)
                 {
                     c=s*n+1;
                     fout<<c<<" ";
                     s=s+2;
                 }
                 else
                 {
                     c++;
                     fout<<c<<" ";
                 }
                }
            }
            fout<<"\n";
        }
        c=n*(n-1);
        for(i=1;i<=n;i++)
        {
            c++;
            fout<<c<<" ";
        }
    }
    if(n%2==1&&k%2==1)
    {
        for(j=1;j<=k;j++)
        {
            if(j==k)
            {
                a[1][j]=k+1;
            }
            else
            {
                a[1][j]=j;
            }
        }
        c=k+1;
        for(j=1;j<=k;j++)
        {
            if(j==1)
            {
                a[2][j]=k;
            }
            else
            {
                c++;
                a[2][j]=c;
            }
        }
        for(i=3;i<=n;i++)
        {
            for(j=1;j<=k;j++)
            {
                a[i][j]=a[i-2][j]+n+1;
            }
        }
        c=n*k+1;
        for(i=1;i<=n;i++)
        {
            for(j=k+1;j<=n;j++)
            {
                if(i==1&&j==k+1)
                {
                    a[i][j]=n*k;
                }
                else
                {
                    c++;
                    a[i][j]=c;
                }
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                fout<<a[i][j]<<" ";
            }
            fout<<"\n";
        }
    }
    fin.close();
    fout.close();
    return 0;
}