Pagini recente » Cod sursa (job #165903) | Cod sursa (job #598305) | Cod sursa (job #3169359) | Cod sursa (job #1199323) | Cod sursa (job #2456026)
#include <bits/stdc++.h>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int N, K, a[1003][1003];
int main() {
f >> N >> K;
if(N % 2 == 0 && K % 2 == 0) {
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++)
g << N * (i - 1) + j << " ";
g << "\n";
}
} else if(N % 2 == 0 && K % 2 == 1) {
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++)
a[i][j] = N * (i - 1) + j;
}
for(int i = 1; i <= N; i += 2) {
for(int j = 2; j <= N; j++)
g << a[i][j] << " ";
g << a[i + 1][N] << "\n" << a[i][1] << " ";
for(int j = 1; j < N; j++)
g << a[i + 1][j] << " ";
g << "\n";
}
} else if(N % 2 == 1 && K % 2 == 0) {
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++)
a[i][j] = N * (i - 1) + j;
}
for(int i = 2; i < N - 2; i += 2) {
int aux = a[i][1];
for(int j = 1; j < N; j++)
a[i][j] = a[i][j + 1];
int aux2 = a[i + 2][N];
for(int j = N; j > 1; j--)
a[i + 2][j] = a[i + 2][j - 1];
a[i + 2][1] = aux;
a[i][N] = aux2;
}
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++)
g << a[i][j] << " ";
g << "\n";
}
} else if(N % 2 == 1 && K % 2 == 1) {
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++)
a[i][j] = N * (i - 1) + j;
}
for(int i = 1; i < N; i += 2) {
int aux = a[i][1];
for(int j = 1; j < N; j++)
a[i][j] = a[i][j + 1];
int aux2 = a[i + 1][1];
a[i + 1][1] = aux;
a[i][N] = aux2;
}
for(int i = 1; i < N; i++) {
for(int j = 1; j < N; j++)
g << a[i][j] << " ";
g << a[N][i] << "\n";
}
for(int i = 1; i <= N; i++)
g << a[i][N] << " ";
g << "\n";
}
return 0;
}