Pagini recente » Cod sursa (job #2551756) | Cod sursa (job #1657798) | Cod sursa (job #1079759) | Cod sursa (job #2188562) | Cod sursa (job #2061384)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n,k;
int a[1001][1001],v1[1001];
int main(){
fin>>n>>k;
if(n%2==0&&k%2==0){
int x=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
fout<<++x<<" ";
}
fout<<"\n";
}
return 0;
}
if(n%2==1&&k%2==0){
int x=0;
for(int i=1;i<=n;i++){
a[i][1]=++x;
}
for(int i=1;i<=n;i++){
for(int j=2;j<=n;j++)
a[i][j]=++x;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
return 0;
}
if(n%2==0&&k%2==1){
int x=0;
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++){
a[i][j]=++x;
}
for(int i=1;i<n;i+=2)
swap(a[i][k],a[i+1][k-1]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
return 0;
}
if(n%2==1&&k%2==1){
int x=0;
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++){
a[i][j]=++x;
}
for(int i=3;i<=n;i+=2)
swap(a[i][k-1],a[i-2][k]);
swap(a[n][k],a[n-2][k+1]);
for(int i=3;i<=n;i++)
v1[i-2]=a[i][k-1];
sort(v1+1,v1+n-1);
for(int i=3;i<=n;i++)
a[i][k-1]=v1[i-2];
for(int i=3;i<=n;i++)
v1[i-2]=a[i][k];
sort(v1+1,v1+n-1);
for(int i=3;i<=n;i++)
a[i][k]=v1[i-2];
for(int i=1;i<=n;i++)
v1[i]=a[i][k+1];
sort(v1+1,v1+n+1);
for(int i=1;i<=n;i++)
a[i][k+1]=v1[i];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
return 0;
}