Pagini recente » Cod sursa (job #1654668) | Cod sursa (job #2383837) | Cod sursa (job #1892872) | Cod sursa (job #461857) | Cod sursa (job #2777059)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int N,K,i,j;
long long t,x[1005][1005],nr,nr2,nr3;
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=1;i<=N;i++)
{if(x[i][K]%2!=0)
{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)
{for(j=2;j<=N;j++)x[i][j]=x[i][j-1];
x[i-2][1]=x[i][K];}
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;
}