Cod sursa(job #2612061)

Utilizator CleliaClelia Maria Dobrescu Clelia Data 8 mai 2020 14:01:08
Problema Tablete Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.36 kb
#include <fstream>
using namespace std;
ifstream fin ("tablete.in");
ofstream fout ("tablete.out");
int a[1001][1001];
int main ()
{
    int nr=0,n,k,i,j,nr1,nr2;
    fin>>n>>k;
    if (n%2==0 && k%2==0)
    {
        for (i=1;i<=n;i++)
            for (j=1;j<=n;j++)
            {
                nr++;
                a[i][j]=nr;
            }
    }
    else
        if (n%2==1 && k%2==0)
        {
            for (i=1;i<=n;i++)
                for (j=1;j<k;j++)
                {
                    nr++;
                    a[i][j]=nr;
                }
            for (i=1;i<=n;i++)
                for (j=k;j<=n;j++)
                {
                    nr++;
                    a[i][j]=nr;
                }
        }
        else
            if (n%2==0 && k%2==1)
            {
                for (i=1;i<=n;i++)
                    for (j=1;j<=n;j++)
                    {
                        nr++;
                        a[i][j]=nr;
                    }
                for (i=1;i<n;i+=2)
                {
                    nr1=a[i][1];
                    nr2=a[i+1][n];
                    for (j=1;j<n;j++)
                        a[i][j]=a[i][j+1];
                    a[i][n]=nr2;
                    for (j=n;j>1;j--)
                        a[i+1][j]=a[i+1][j-1];
                    a[i+1][1]=nr1;
                }
            }
            else
                if (n%2==1 && k%2==1)
                {
                    for (i=1;i<=n;i++)
                        for (j=1;j<=n;j++)
                        {
                            nr++;
                            a[i][j]=nr;
                        }
                    for (i=1;i<n;i+=2)
                    {
                        nr1=a[i][1];
                        nr2=a[i+1][1];
                        for (j=1;j<n;j++)
                            a[i][j]=a[i][j+1];
                        a[i][n]=nr2;
                        a[i+1][1]=nr1;
                    }
                    nr1=a[n-1][n];
                    nr2=a[n][n];
                    for (i=n;i>1;i--)
                        a[n][i]=a[n][i-1];
                    a[n][1]=nr1;
                    a[n-1][n]=nr2;
                }
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
            fout<<a[i][j]<<" ";
        fout<<'\n';
    }
    return 0;
}