Cod sursa(job #2776918)

Utilizator badeatheodorBadeaTheodorIulian badeatheodor Data 21 septembrie 2021 16:57:44
Problema Tablete Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.8 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("tablete.in");
ofstream fout("tablete.out");

int n,k,i,x,j,v[1001][1001],a;

int main()
{
    fin>>n>>k;
    x=1;
    if(k%2==0)
    {
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=k; j++)
            {
                v[i][j]=x;
                x++;
            }
        }
        for(i=1; i<=n; i++)
        {
            for(j=k+1; j<=n; j++)
            {
                v[i][j]=x;
                x++;
            }
        }
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
            {
                fout<<v[i][j]<<" ";
            }
            fout<<'\n';
        }
    }
    else
    {
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
            {
                v[i][j]=x;
                x++;
            }
        }
        for(i=1; i<n; i++)
        {
            for(j=1; j<n; j++)
            {
                v[i][j]=v[i][j+1];
            }
            v[i][n]=v[i+1][1];
        }
        v[n][1]=1;
        for(i=2; i<k; i++)
        {
            a=v[n][i];
            v[n][i]=v[i][n];
            v[i][n]=a;
        }
        a=v[n][k];
        v[n][k]=v[k-1][n];
        v[k-1][n]=a;
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n; j++)
            {
                fout<<v[i][j]<<" ";
            }
            fout<<'\n';
        }
    }
    return 0;
}
///1 2 3 4 5
///6 7 8 9 10
///11 12 13 14 15
///16 17 18 19 20
///21 22 23 24 25
///
///1 2 3 4 21
///5 6 7 8 22
///9 10 11 12 23
///13 14 15 16 24
///17 18 19 20 25
///
///daca e par k

///1  2  3  4
///5  6  7  8
///9  10 11 12
///13 14 15 16

///2  3  4 5
///6  7  8 9
///10 11 12 13
///1  14 15 16