Pagini recente » Cod sursa (job #1896504) | Cod sursa (job #2212270) | Borderou de evaluare (job #451036) | Cod sursa (job #2509043) | Cod sursa (job #2031108)
#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;
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");
}
return 0;
}