Pagini recente » Cod sursa (job #1744378) | Cod sursa (job #1595267) | Cod sursa (job #2706376) | Cod sursa (job #1369878) | Cod sursa (job #444362)
Cod sursa(job #444362)
#include<cstdio>
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
#define nn 1001
int a[nn][nn];
int n,k;
int main ()
{
ifstream fin ("tablete.in");
fin>>n>>k;
fin.close();
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){
for(int j=1;j<=n;++j)
printf("%d ",a[i][j]);
printf("\n");}
if(n%2==0){
for(int i=n-1;i>1;--i){
if(a[k][i]%2==1){
int gasit=0;
for(int j=i-1;j>=1&&gasit==0;--j)
if(a[k+1][j]%2==0){
gasit=a[k][i];
a[k][i]=a[k+1][j];
a[k+1][j]=gasit;
}
}
}
int aux=a[k][1];
a[k][1]=a[k-1][n];
a[k-1][n]=aux;
}
else{
for(int i=n;i>2;--i){
if(a[i][k]%2==1){
int gasit=0;
for(int j=i-1;j>=1&&gasit==0;--j)
if(a[j][k+1]%2==0){
gasit=a[i][k];
a[i][k]=a[j][k+1];
a[j][k+1]=gasit;
}
}
}
if(k%2==0){
int aux=a[2][k];
a[2][k]=a[n-1][k-1];
a[n-1][k-1]=aux;
}
else{
int aux=a[1][k];
a[1][k]=a[n][k-1];
a[n][k-1]=aux;
}
}
freopen("tablete.out","w",stdout);
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
printf("%d ",a[j][i]);
printf("\n");}
return 0;}