Pagini recente » Cod sursa (job #290732) | Cod sursa (job #265217)
Cod sursa(job #265217)
#include <cstdio>
int n,k, a[1001][1001];
int main ()
{
FILE *f = fopen("tablete.in", "r");
fscanf (f,"%d%d", &n, &k);
fclose(f);
int i,j, nr=0;
if (k%2 == 0) //daca n par
{
for (i = 1; i <= n; i++)
for (j = 1; j <= k; j++)
nr = a[i][j] = ++nr;
for (i = 1; i <= n; i++)
for (j = k+1; j <= n; j++)
a[i][j] = ++nr;
}
if (k%2 == 1)
{
for (i = 1; i <= n; i++)
for (j = 1; j <= k; j++)
{
if (j == 1 && i != 1)
{
a[i][j] = nr + 1;
if (i % 2 == 0)
nr +=2;
else
nr++;
}
else
if (j != k)
a[i][j] = ++nr;
if (j == k)
if ((nr + 1) % 2 == 1)
a[i][j] = nr + 2;
else
a[i][j] = ++nr;
}
//manual prima linie
if (n % 2 == 1)
{
a[1][k+1] = ++nr;
nr++;
for (i = k + 2; i <= n; i++)
a[1][i] = ++nr;
for (i = 2; i <= n; i++)
for (j = k + 1; j <= n; j++)
a[i][j] = ++nr;
}
else
{
for (i = 1; i <= n; i++)
for (j = k + 1; j <= n; j++)
a[i][j] = ++nr;
}
}
f = fopen("tablete.out", "w");
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
fprintf(f, "%d ", a[i][j]);
fprintf(f, "\n");
}
//fprintf(f, "nr = %d\n", nr);
fclose(f);
return 0;
}