Pagini recente » Cod sursa (job #1292127) | Cod sursa (job #2989559) | Cod sursa (job #1477661) | Cod sursa (job #903288) | Cod sursa (job #231134)
Cod sursa(job #231134)
#include <cstdio>
#define fin "tablete.in"
#define fout "tablete.out"
const int Nmax = 1024;
int N,K,v[Nmax][Nmax];
int used[Nmax*Nmax];
int main()
{
int i,j,k;
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d%d",&N,&K);
k = 0;
for ( i = 1; i <= N; ++i )
for ( j = 1; j <= N; ++j )
v[i][j] = ++k;
for ( i = 1; i < N; ++i )
if ( v[i][K] % 2 != 0 )
{
k = v[i][K];
for ( j = K; j < N; ++j )
v[i][j] = v[i][j+1];
v[i][N] = v[i+1][1];
v[i+1][1] = k;
}
if ( v[N][K] % 2 != 0 )
{
k = v[N][K];
for ( i = K; i > 1; -- i )
v[N][i] = v[N][i-1];
v[N][1] = v[N-1][N];
v[N-1][N] = k;
i = 1;
while ( v[N][i] > v[N][i+1] )
{
int aux;
aux = v[N][i]; v[N][i] = v[N][i+1]; v[N][i+1] = aux;
}
}
for ( i = 1; i <= N; ++i )
{
for ( j = 1; j <= N; ++j )
printf("%d ",v[i][j]);
printf("\n");
}
return 0;
}