Pagini recente » Cod sursa (job #2033087) | Cod sursa (job #2482498) | Cod sursa (job #1282499) | Cod sursa (job #570917) | Cod sursa (job #597725)
Cod sursa(job #597725)
#include <cstdio>
#define MAXN 1005
int main(){
freopen("tablete.in", "r", stdin);
freopen("tablete.out", "w", stdout);
int N, K, i, a, j, k;
static int S[MAXN][MAXN];
scanf("%d%d", &N, &K);
a=0;
if(K%2 == 0){
for(i=1; i<=N; i++)
for(j=1; j<=K; j++)
S[i][j]=++a;
for(i=1; i<=N; i++)
for(j=K+1; j<=N; j++)
S[i][j]=++a;
}
else if(K%2 && N%2 == 0){
for(j=1; j<K-1; j++)
for(i=1; i<=N; i++)
S[i][j]=++a;
for(i=1; i<=N; i++)
for(j=K-1; j<=K; j++)
S[i][j]=++a;
for(i=1; i<=N; i++)
for(j=K+1; j<=N; j++)
S[i][j]=++a;
}
else {
for(j=1; j<K-1; j++)
for(i=1; i<N; i++)
S[i][j]=++a;
for(i=1; i<N; i++)
for(j=K-1; j<=K; j++)
S[i][j]=++a;
for(i=1; i<N; i++)
for(j=K+1; j<N-1; j++)
S[i][j]=++a;
k=a+1; a++;
for(i=1; i<=N; i++)
S[N][i]=++a;
S[1][N]=k;
S[1][N-1]=++a;
for(i=2; i<N; i++)
for(j=N-1; j<=N; j++)
S[i][j]=++a;
}
for(i=1; i<=N; i++){
for(j=1; j<=N; j++)
printf("%d ", S[i][j]);
printf("\n");
}
return 0;
}