Cod sursa(job #1586250)
| Utilizator | Data | 31 ianuarie 2016 22:18:06 | |
|---|---|---|---|
| Problema | Tablete | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 2.21 kb |
#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;
}
