Pagini recente » Cod sursa (job #56312) | Cod sursa (job #1234411) | Cod sursa (job #280468) | Cod sursa (job #3143083) | Cod sursa (job #997402)
Cod sursa(job #997402)
#include <fstream>
#define ValMax 1000004
#define Nmax 1002
using namespace std;
bool use[ValMax];
int a[Nmax][Nmax];
int main()
{
int i,j,value, x, n, k;
ifstream f("tablete.in");
f>>n>>k;
f.close();
if(k&1)
{
value = k+1;
x = k+1;
j = n/2;
for(i = 1;i <= j; ++i)
{
a[i][k] = value,
use[value] = 1;
value+= k+1;
}
value = n*n-(n-k);
if(value&1)
--value;
for(i = n;i> j; --i)
a[i][k] = value,
use[value] = 1,
value -= k+1;
for(i = value = 1;i <= n; ++i)
for(j = 1;j < k; ++j)
if(!a[i][j])
{
while(use[value])
++value;
a[i][j] = value++;
}
for(i = 1;i <= n; ++i)
for(j = k+1;j <= n; ++j)
if(!a[i][j])
{
while(use[value])
++value;
a[i][j] = value++;
}
}
else
{
for(i = value = 1;i <= n; ++i)
for(j = 1;j <= k; ++j)
a[i][j] = value++;
for(i = 1;i <= n; ++i)
for(j = k+1;j <= n; ++j)
a[i][j] = value++;
}
ofstream g("tablete.out");
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
g<<a[i][j]<<" ";
g<<"\n";
}
g.close();
return 0;
}