Pagini recente » Cod sursa (job #369391) | Cod sursa (job #420711) | Cod sursa (job #119233) | Cod sursa (job #2160338) | Cod sursa (job #1209727)
#include<fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
#define MAXN 1005
int N,K,A[MAXN][MAXN];
int main() {
int i,j,w;
long long nr=0;
cin>>N>>K;
if(!(K%2)) {
for(i=1;i<=N;i++)
for(j=1;j<=K;j++)
A[i][j]=++nr;
for(i=1;i<=N;i++)
for(j=K+1;j<=N;j++)
A[i][j]=++nr;
}
if(K%2 && !(N%2)) {
for(i=1;i<=N;i++)
if(i%2) {
for(j=1;j<=K-1;j++)
A[i][j]=(i-1)*K+j;
A[i][K]=(i-1)*K+K+1;
}
else {
A[i][1]=(i-1)*K;
for(j=2;j<=K;j++)
A[i][j]=(i-1)*K+j;
}
nr=A[N][K];
for(i=1;i<=N;i++)
for(j=K+1;j<=N;j++)
A[i][j]=++nr;
}
if(K%2 && N%2) {
for(i=1;i<=N;i++)
if(i%2) {
for(j=1;j<=K-1;j++)
A[i][j]=(i-1)*K+j;
A[i][K]=(i-1)*K+K+1;
}
else {
A[i][1]=(i-1)*K;
for(j=2;j<=K;j++)
A[i][j]=(i-1)*K+j;
}
if(K<N)
nr=N*K;
A[1][K+1]=nr;
nr++;
for(j=K+2;j<=N;j++)
A[1][j]=++nr;
for(i=2;i<=N;i++)
for(j=K+1;j<=N;j++)
A[i][j]=++nr;
}
for(i=1;i<=N;i++){
for(j=1;j<=N;j++)
cout<<A[i][j]<<" ";
cout<<"\n";
}
return 0;
}