Pagini recente » Rating infoarena | Cod sursa (job #3272285) | Cod sursa (job #106096) | Cod sursa (job #170385) | Cod sursa (job #1586250)
#include <fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int n,k,x,i,j,v[1001][1001];
int main()
{
f >> n >> k;
if(k % 2 == 0)
{
x = 0;
for(i = 1; i <= n; ++i)
for(j = 1; j <= k; ++j)
{
++x;
v[i][j] = x;
}
for(i = 1; i <= n; ++i)
for(j = k+1; j <= n; ++j)
{
++x;
v[i][j] = x;
}
}
else
if(k % 2 != 0 && n % 2 == 0)
{
x = 0;
for(i = 1; i <= n; i += 2)
{
for(j = 1; j < k; ++j)
{
++x;
v[i][j] = x;
}
++x;
v[i][k] = x + 1;
v[i+1][1] = x;
++x;
for(j = 2; j <= k; ++j)
{
++x;
v[i+1][j] = x;
}
}
for(i = 1; i <= n; ++i)
for(j = k+1; j <= n; ++j)
{
++x;
v[i][j] = x;
}
}
else
if(k % 2 != 0 && n % 2 != 0)
{
x = 0;
for(i = 1; i < n; i += 2)
{
for(j = 1; j < k; ++j)
{
++x;
v[i][j] = x;
}
++x;
v[i][k] = x + 1;
v[i+1][1] = x;
++x;
for(j = 2; j <= k; ++j)
{
++x;
v[i+1][j] = x;
}
}
x = (n - 1) * k;
for(j = 1; j < k; ++j)
{
++x;
v[i][j] = x;
}
v[i][k] = n * k + 1;
x = n * k + 1;
for(i = 1; i <= n; ++i)
{
for(j = k+1; j <= n; ++j)
{
if(i == 1 && j == k + 1)
v[i][j] = n * k;
else
{
++x;
v[i][j] = x;
}
}
}
}
for(i = 1; i <= n; ++i)
{
for(j = 1; j <= n; ++j)
g << v[i][j] << " ";
g << '\n';
}
return 0;
}