Pagini recente » Arhiva de probleme | Cod sursa (job #758431) | Cod sursa (job #2078175) | Cod sursa (job #182425) | Cod sursa (job #1209056)
#include<iostream>
#include<cstdio>
using namespace std;
int a[1001][1001];
int main()
{
FILE *fin, *fout;
fin=fopen("tablete.in", "r");
fout=fopen("tablete.out", "w");
int n, k;
fscanf(fin, "%d %d", &n, &k);
int p=1;
for(int i=1; i<=k-1; i++)
{
for(int j=1; j<=n; j++) {
a[j][i]=p;
p++;
}
}
if((k-1)*n%2==0)
p++;
for(int i=1; i<=n; i++)
{
a[i][k]=p;
p++;
a[i][k+1]=p;
p++;
}
if((k-1)*n%2==0)
p--;
for(int i=k+2; i<=n; i++)
{
for(int j=1; j<=n; j++) {
a[j][i]=p;
p++;
}
}
if((k-1)*n%2==0)
{
a[1][k]-=2;
a[n][k-1]=a[1][k+1];
a[1][k+1]-=2;
if((k+2)<=n)
a[1][k+2]=a[1][k+1]+1;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
fprintf(fout, "%d ", a[i][j]);
}
fprintf(fout, "\n");
}
}