Pagini recente » Cod sursa (job #1274978) | Cod sursa (job #2768115) | Cod sursa (job #2638957) | Cod sursa (job #3281559) | Cod sursa (job #1889411)
#include <cstdio>
using namespace std;
int a[1001][1001];
int main(){
FILE *fin, *fout;
fin=fopen("tablete.in", "r");
fout=fopen("tablete.out", "w");
int n, k, i, j, nr, retin, schimb, impar, par, cont;
fscanf(fin, "%d%d", &n, &k);
if((k-1)*n%2==0){
retin=1;
}
nr=1;
schimb=0;
cont=0;
for(j=1; j<=n; j++){
cont=0;
for(i=1; i<=n; i++){
if(j<k)
a[i][j]=nr, nr++;
if(j==k-1 && retin==1)
schimb=a[n][j], a[n][j]++, impar=schimb+3;
if(j==k){
if(schimb!=0)
a[1][j]=schimb, par=schimb+2, schimb=0;
if(a[i][j]==0){
a[i][j]=par;
par+=2;
}
}
if(j==k+1){
a[i][j]+=impar;
impar+=2;
cont++;
}
if(cont==n-1)
a[n][j]--;
if(j>k+1){
if(i==1)
nr=a[n][k+1]+1;
a[i][j]=nr;
nr++;
}
}
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
fprintf(fout, "%d ", a[i][j]);
}
fprintf(fout, "\n");
}
return 0;
}