Pagini recente » Cod sursa (job #1562273) | Cod sursa (job #1500032) | Borderou de evaluare (job #2019910) | Cod sursa (job #1505476) | Cod sursa (job #870926)
Cod sursa(job #870926)
#include<fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int n,k,i,j,c,a[1009][1009];
int main()
{
f>>n>>k;
if(!(k%2))
{
c=1;
for(i=1;i<=n;++i)
for(j=1;j<=k;++j)
a[i][j]=c,++c;
for(i=1;i<=n;++i)
for(j=k+1;j<=n;++j)
a[i][j]=c,++c;
}
else
{
if(n%2==0)
{
c=0;
for(i=1;i<=n;i+=2)
{
for(j=1;j<k;++j)
a[i][j]=c+j;
a[i][k]=c+k+1;
a[i+1][1]=c+k;
for(j=2;j<=k;++j)
a[i+1][j]=c+k+j;
c+=2*k;
}
++c;
for(i=1;i<=n;++i)
for(j=k+1;j<=n;++j)
a[i][j]=c,++c;
}
else
{
c=0;
for(i=1;i<=n-2;i+=2)
{
for(j=1;j<k;++j)
a[i][j]=c+j;
a[i][k]=c+k+1;
a[i+1][1]=c+k;
for(j=2;j<=k;++j)
a[i+1][j]=c+k+j;
c+=2*k;
}
c=(n-1)*k+1;
for(j=1;j<k;++j)
a[n][j]=c,++c;
a[n][k]=c+1;
a[1][k+1]=c;
c+=2;
for(i=1;i<=n;++i)
for(j=k+1;j<=n;++j)
if(!a[i][j])
a[i][j]=c,++c;
}
}
for(i=1;i<=n;++i,g<<'\n')
for(j=1;j<=n;++j)
g<<a[i][j]<<' ';
return 0;
}