Pagini recente » Cod sursa (job #1951464) | Cod sursa (job #2058619) | Cod sursa (job #1604082) | Cod sursa (job #2823079) | Cod sursa (job #2777066)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int N,K,i,j,t,x[1005][1005],nr,nr2,nr3,nr4,nr5;
int main()
{
cin>>N>>K;
if(N%2==0 && K%2==0)
{t=1;
for(i=1;i<=N;i++)
for(j=1;j<=N;j++){x[i][j]=t;
t++;}}
if(N%2!=0 && K%2==0)
{t=1;
for(i=1;i<=N;i++)
for(j=1;j<=N;j++){x[i][j]=t;
t++;}
for(i=2;i<=N-1;i=i+2)
{nr4=x[i][K];
for(j=K;j<=N-1;j++)x[i][j]=x[i][j]+1;
x[i][N]=x[i+1][1];
x[i+1][1]=x[i][K];}}
if(N%2!=0 && K%2!=0)
{t=1;
for(i=N;i>=1;i--)
for(j=1;j<=N;j++){x[i][j]=t;
t++;}
nr=x[1][N];
for(j=2;j<=N;j++)x[1][j]=x[1][j]-1;
for(i=3;i<=N-2;i=i+2)
{nr5=x[i][K];
for(j=2;j<=N;j++)x[i][j]=x[i][j]-1;
x[i-2][1]=nr5;}
x[N-2][1]=x[N][K];
for(j=K;j<=N-1;j++)x[N][j]=x[N][j]+1;
x[N][N]=nr;}
if(K%2!=0 && N%2==0)
{t=1;
for(i=1;i<=N;i++)
for(j=1;j<=N;j++){x[i][j]=t;
t++;}
nr2=x[N][N];
nr3=x[1][K];
for(j=K;j<=N-1;j++)x[1][K]=x[1][K]+1;
x[1][N]=nr2;
for(j=2;j<=N;j++)x[2][j]=x[2][j]-1;
x[2][1]=nr3;
for(i=3;i<=N;i++)for(j=1;j<=N;j++)x[i][j]=x[i][j]-1;}
for(i=1;i<=N;i++)
{for(j=1;j<=N;j++)cout<<x[i][j]<<" ";
cout<<endl;
}
return 0;
}