Pagini recente » Cod sursa (job #618110) | Cod sursa (job #753408) | Cod sursa (job #3153655) | Cod sursa (job #1295878) | Cod sursa (job #1238368)
#include<fstream>
using namespace std;
int n, i, j, nr, aux, k;
int a[1001][1001];
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int main(){
fin>> n >> k;
for(i = 1; i <= n; i++){
for(j = 1; j <= n; j++){
nr++;
a[i][j] = nr;
}
}
if(n % 2 == 0){
if(k % 2 == 1){
for(i = 1; i <= n / 2; i++){
aux = a[i*2-1][k];
for(j = k + 1; j <= n; j++){
a[i*2-1][j-1] = a[i*2-1][j];
}
a[i*2-1][n] = a[i*2][n];
for(j = n - 1; j >= 1; j--){
a[i*2][j+1] = a[i*2][j];
}
a[i*2][1] = aux;
}
}
}
else{
if(k % 2 == 0){
for(i = 1; i <= n / 2; i++){
aux = a[i*2][n];
for(j = n - 1; j >= 1; j--){
a[i*2][j+1] = a[i*2][j];
}
a[i*2][1] = a[i*2-1][n];
a[i*2-1][n] = aux;
}
}
else{
for(i = 1; i <= n - 4; i+= 4){
aux = a[i][1];
for(j = 2; j <= n; j++){
a[i][j-1] = a[i][j];
}
a[i][n] = a[i+2][n];
for(j = n - 1; j >= 1; j--){
a[i+2][j+1] = a[i+2][j];
}
a[i+2][1] = aux;
}
aux = a[n-1][n];
a[n-1][n] = a[n][n];
for(j = n - 1; j >= 1; j--){
a[n][j+1] = a[n][j];
}
a[n][1] = aux;
}
}
for(i = 1; i <= n; i++){
for(j = 1; j <= n; j++){
fout<< a[i][j] <<" ";
}
fout<<"\n";
}
return 0;
}