Pagini recente » Cod sursa (job #1753264) | Cod sursa (job #3197914) | Cod sursa (job #109912) | Cod sursa (job #2349469) | Cod sursa (job #2031131)
#include <cstdio>
#include <iostream>
using namespace std;
int n,k, a[1001][1001], fr[1001], y,x, j, nr;
int main()
{
freopen("tablete.in", "r", stdin);
freopen("tablete.out", "w", stdout);
scanf("%d %d", &n, &k);
y=1;
if(n==k && n%2==0)
{
int nr=1;
while(nr<=n*n)
{
printf("%d ", nr);
if(nr%n==0)
printf("\n");
nr++;
}
}
else if(k%2==0)
{
for(j=1; j<=n; j++)
{
x=y;
for(int i=x; i<=n*n && nr<n; i++)
{
if(nr==k-1 && i%2==1 && fr[i+1]==0)
{
a[j][k]=i+1;
y=i;
fr[i+1]++;
nr++;
}
else if(fr[i]==0)
{
nr++;
a[j][nr]=i;
fr[i]++;
}
}
if(j==n-1)
{
fr[a[n-1][n]]--;
a[n-1][n]=n*n;
fr[n*n]++;
}
nr=0;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
else if(n==k && k%2==1)
{
int nr=1;
while(nr<=n*n)
{
printf("%d ", 0);
if(nr%n==0)
printf("\n");
nr++;
}
}
return 0;
}