Pagini recente » Cod sursa (job #2650072) | Cod sursa (job #382081) | Cod sursa (job #1854874) | Cod sursa (job #1525618) | Cod sursa (job #1366329)
#include<fstream>
#include<list>
using namespace std;
typedef int var;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
var M[1001][1001];
var n, k;
void build_1() {
var A = (n*(k-1)+1)/2;
for(var i=1; i<=n; i++) {
M[i][k] = 2*(A+i-1);
M[i][k+1] = 2*(A+i-1) + 1;
}
var val = 1;
for(var i=1; i<=n; i++) {
for(var j=1; j<=k-1; j++) {
M[i][j] = val++;
}
}
val = 2*A + 2*n;
for(var i=1; i<=n; i++) {
for(var j=k+2; j<=n; j++) {
M[i][j] = val++;
}
}
}
void build_2() {
var A = n*(k-2)/2;
for(var i=1; i<=n; i++) {
M[i][k] = 2*A + 2*i;
M[i][k-1] = 2*A + 2*i - 1;
}
var val = 1;
for(var i=1; i<=n; i++) {
for(var j=1; j<=k-2; j++) {
M[i][j] = val++;
}
}
val = 2*A + 2*n + 1;
for(var i=1; i<=n; i++) {
for(var j=k+1; j<=n; j++) {
M[i][j] = val++;
}
}
}
int main() {
fin>>n>>k;
if(n*(k-1)%2==1) {
build_1();
} else if(n*(k-2)%2==0) {
build_2();
}
for(var i=1; i<=n; i++) {
for(var j=1; j<=n; j++) {
fout<<M[i][j]<<" ";
}
fout<<endl;
}
return 0;
}