Pagini recente » Cod sursa (job #173841) | Cod sursa (job #1548844) | Cod sursa (job #1300340) | Cod sursa (job #1990386) | Cod sursa (job #444364)
Cod sursa(job #444364)
#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[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;
}
}
}
if(k%2==0){
int aux=a[k][2];
a[k][2]=a[k-1][n-1];
a[k-1][n-1]=aux;
}
else{
int aux=a[k][1];
a[k][1]=a[k-1][n];
a[k-1][n]=aux;
}
sort(a[k]+1 , a[k]+n+1);
sort(a[k+1]+1 , a[k+1]+n+1);
}
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;}