Pagini recente » Cod sursa (job #459196) | Cod sursa (job #1207128) | Cod sursa (job #2098912) | Cod sursa (job #1463249) | Cod sursa (job #2262069)
#include<cstdio>
using namespace std;
FILE *in=fopen("tablete.in","r");
FILE *out=fopen("tablete.out","w");
int n,k,a[1005][1005];
int main(){
fscanf(in,"%d%d",&n,&k);
if(n%2==0){
for(int i=1,t=1;i<=n;i++)
for(int j=1;j<=n;j++,t++)
a[j][i]=t;
for(int i=1;i<=n-1;i+=2)
a[i][k]^=a[i+1][k-1]^=a[i][k]^=a[i+1][k-1];
}
else{
for(int i=1,t=1;i<n;i++)
for(int j=1;j<n;j++,t++)
a[j][i]=t;
for(int i=1;i<n-1;i+=2)
a[i][k]^=a[i+1][k-1]^=a[i][k]^=a[i+1][k-1];
if(k%2==0){
for(int i=1;i<=n;i++)
a[n][i]=(n-1)*(n-1)+i;
for(int i=1;i<n;i++)
a[i][n]=n*(n-1)+1+i;
}
else{
for(int i=1;i<=n;i++)
a[n][i]=(n-1)*(n-1)+i+1;
for(int i=1;i<n-1;i++)
a[i][n]=n*(n-1)+2+i;
a[n-1][n]=(n-1)*(n-1)+1;
}
}
for(int i=1;i<=n;i++,fprintf(out,"\n"))
for(int j=1;j<=n;j++,fprintf(out," "))
fprintf(out,"%d",a[i][j]);
}