Cod sursa(job #2581720)

Utilizator valentinchipuc123Valentin Chipuc valentinchipuc123 Data 15 martie 2020 18:14:02
Problema Tablete Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n,k,aux[1005][5],trio[1005][5];

int main()
{
f>>n>>k;
aux[k][1]=2*(k-1);
aux[k][2]=2*k;
aux[k-1][1]=aux[k][1]-1; aux[k-2][1]=aux[k-1][1]-2;
aux[k-1][2]=aux[k][2]-1; aux[k-2][2]=aux[k-1][2]-3;
aux[k+1][1]=aux[k][1]+3; aux[k+2][1]=aux[k+1][1]+2;
aux[k+1][2]=aux[k][2]+2; aux[k+2][2]=aux[k+1][2]+2;
for(int i=k-3;i>=1;i--)
 {
  aux[i][1]=aux[i+1][1]-2;
  aux[i][2]=aux[i+1][2]-2;
 }
for(int i=k+3;i<=n;i++)
 {
  aux[i][1]=aux[i-1][1]+2;
  aux[i][2]=aux[i-1][2]+2;
 }
for(int i=1;i<=n;i++)
 trio[i][1]=aux[i][1];
for(int i=1;i<=n;i++)
 trio[i][2]=aux[i][2];
for(int i=1;i<=n;i++)
 trio[i][3]=2*n+i;
swap(trio[k][3],trio[n][2]);
for(int i=k;i>1;i--)
 swap(trio[i][3],trio[i-1][3]);
for(int i=1;i<=n;i+=2)
 {
  if(n-i!=2)
   {
    for(int j=1;j<=n;j++)
 g<<aux[j][1]+(i-1)*n<<" ";
 g<<'\n';
    for(int j=1;j<=n;j++)
 g<<aux[j][2]+(i-1)*n<<" ";
 g<<'\n';
   }
  else
   {
    for(int j=1;j<=n;j++)
 g<<trio[j][1]+(i-1)*n<<" ";
 g<<'\n';
    for(int j=1;j<=n;j++)
 g<<trio[j][2]+(i-1)*n<<" ";
 g<<'\n';
    for(int j=1;j<=n;j++)
 g<<trio[j][3]+(i-1)*n<<" ";
 break;
   }
 }
}