Pagini recente » Cod sursa (job #1278983) | Cod sursa (job #1828288) | Cod sursa (job #1135181) | Cod sursa (job #2126643) | Cod sursa (job #231321)
Cod sursa(job #231321)
# include <stdio.h>
# include <fstream>
using namespace std;
# define input "tablete.in"
# define output "tablete.out"
# define max 1001
int a[max][max],n,k,i,j,nr;
void afiseaza()
{
for ( i = 1; i <= n; i++)
{
for ( j = 1; j<=n; j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
int main()
{
freopen(input, "r", stdin);
freopen(output, "w", stdout);
scanf("%d%d",&n,&k);
if( k % 2== 0 && n % 2 == 0)
{
nr = 1;
for ( i = 1; i <= n; i++)
for ( j = 1; j<=n; j++)
a[i][j] = nr++;
afiseaza();
return 0;
}
if ( k % 2 == 1 and n%2 == 0)
{
nr = 2;
for ( i = 1; i < n; i++)
for ( j = 1; j<=n; j++)
a[i][j] = nr++;
a[n][1] = 1;
a[n-1][n] = n*n;
nr--;
for ( j = 2; j<= n; j++)
a[n][j] = nr++;
afiseaza();
return 0;
}
if( k % 2 )
{
nr = 1;
for (i = 1; i< n; i+=2)
{
nr++;
int x= nr;
for ( j = 1 ; j<= n; j++)
a[i][j] = nr ++;
a[i+1][1] = x-1;
for ( j =2; j<=n; j++)
a[i+1][j] = nr++;
}
a[n-1][n] = n*n;
nr --;
for ( j = 1; j<=n ;j++)
a[n][j] = nr++;
afiseaza();
return 0;
}
nr = 1;
for ( i = 1; i<= n ;i++)
a[1][i] = nr++;
for ( i = 2; i<= n; i+=2)
{
int x = nr;
nr ++;
for ( j = 1; j<= n; j++)
a[i][j] = nr++;
a[i+1][1] = x;
for ( j = 2; j <= n; j++)
a[i+1][j] = nr++;
}
afiseaza();
return 0;
}