Pagini recente » Cod sursa (job #1588807) | Cod sursa (job #949371) | Cod sursa (job #2257800) | Cod sursa (job #739300) | Cod sursa (job #2061367)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
short n, i, k, j;
int v[1001][1001], a[1002], nr;
int main(){
fin>>n>>k;
if(n%2 == 0 && k%2 == 0){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
nr++;
fout<<nr<<" ";
}
fout<<"\n";
}
return 0;
}
if(n%2 == 1 && k%2 == 0){
for(i=1;i<=n;i++){
fout<<i<<" ";
for(j=2;j<=n;j++)
fout<<i*4+j<<" ";
fout<<"\n";
}
return 0;
}
if(n%2 == 0 && k%2 == 1){
for(j=1;j<=n;j++)
for(i=1;i<=n;i++){
nr++;
v[i][j] = nr;
}
for(i=1;i<n;i+=2)
swap(v[i][k], v[i+1][k-1]);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
fout<<v[i][j]<<" ";
fout<<"\n";
}
return 0;
}
for(j=1;j<=n;j++)
for(i=1;i<=n;i++){
nr++;
v[i][j] = nr;
}
for(i=3;i<=n;i+=2)
swap(v[i][k-1], v[i-2][k]);
swap(v[n][k], v[n-2][k+1]);
for(i=3;i<=n;i++)
a[i-2] = v[i][k-1];
sort(a+1, a+n-2+1);
for(i=3;i<=n;i++)
v[i][k-1] = a[i-2];
for(i=3;i<=n;i++)
a[i-2] = v[i][k];
sort(a+1, a+n-2+1);
for(i=3;i<=n;i++)
v[i][k] = a[i-2];
for(i=1;i<=n;i++)
a[i] = v[i][k+1];
sort(a+1, a+n+1);
for(i=1;i<=n;i++)
v[i][k+1] = a[i];
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
fout<<v[i][j]<<" ";
fout<<"\n";
}
return 0;
}