Cod sursa(job #2228994)

Utilizator 0738076326Simon Wil 0738076326 Data 5 august 2018 16:52:10
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.44 kb
#include <fstream>
#include <iostream>

using namespace std;

ifstream f("tablete.in");
ofstream g("tablete.out");

int a[1001][1001], b[1001][1001],i, j, n, k, nr;

int main()
{
    f>>n>>k;

    nr=1;

    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
        {
            a[i][j]=nr;
            nr++;
        }
    /*for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            g<<a[i][j]<<" ";
        g<<"\n";
    }*/

    if(n%2==0 && k%2==0)
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
                g<<a[i][j]<<" ";
            g<<"\n";
        }
    else if(n%2==0)
    {
        for(i=2; i<=n; i+=2)
        {
            b[i][1]=a[i-1][1];
            for(j=2; j<=n; j++)
                b[i][j]=a[i][j-1];
        }
        for(i=1; i<n; i+=2)
        {
            b[i][n]=a[i+1][n];
            for(j=1; j<n; j++)
                b[i][j]=a[i][j+1];
        }


        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
                g<<b[i][j]<<" ";
            g<<"\n";
        }
    }
    else
    {
        if(k%2==0)
        {
            for(i=2; i<=n; i+=4)
            {
                for(j=1; j<n; j++)
                    b[i][j]=a[i][j+1];
                for(j=2; j<=n; j++)
                    b[i+2][j]=a[i+2][j-1];


                b[i+2][1]=a[i][1];
                b[i][n]=a[i+2][n];
            }
            for(i=1; i<=n; i+=2)
                for(j=1; j<=n; j++)
                {
                    b[i][j]=a[i][j];
                }


        }

        else
        {
            for(i=1; i<n; i+=4)
            {
                for(j=1; j<n; j++)
                    b[i][j]=a[i][j+1];
                for(j=2; j<=n; j++)
                    b[i+2][j]=a[i+2][j-1];


                b[i+2][1]=a[i][1];
                b[i][n]=a[i+2][n];
            }
            for(i=2; i<=n; i+=2)
                for(j=1; j<=n; j++)
                {
                    b[i][j]=a[i][j];
                }

            for(j=1; j<=n; j++)
                b[n][j]=a[n][j];

            swap(b[n][n], b[n-2][n]);
            nr=b[n][n];
            for(j=n; j>=2; j--)
                b[n][j]=b[n][j-1];

            b[n][1]=nr;

        }


        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
                g<<b[i][j]<<" ";
            g<<"\n";
        }

    }


    return 0;
}