Pagini recente » Cod sursa (job #389728) | Cod sursa (job #2487988) | Cod sursa (job #2019593) | Cod sursa (job #836940) | Cod sursa (job #1741846)
#include<fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int n,k,a[1002][1002];
int main()
{
f>>n>>k;
if(k%2==0)
{
int q=1;
for(int i=1;i<=n;++i)
for(int j=1;j<=k;++j){
a[i][j]=q;
++q;
}
for(int i=1;i<=n;++i)
for(int j=k+1;j<=n;++j)
{
a[i][j]=q;
++q;
}
}
else
{
if(n%2==0)
{
int nr=1;
for(int i=1;i<n;i+=2)
{
for(int j=1;j<=k-1;++nr,++j)
a[i][j]=nr;
a[i][k]=nr+1;
a[i+1][1]=nr;
nr+=2;
for(int j=2;j<=k;++nr,++j)
a[i+1][j]=nr;
}
nr=n*k+1;
for(int i=1;i<=n;++i)
for(int j=k+1;j<=n;++j,++nr)
a[i][j]=nr;
}
else
{
int nr=1;
for(int i=1;i<=n-2;i+=2)
{
for(int j=1;j<=k-1;++nr,++j)
a[i][j]=nr;
a[i][k]=nr+1;
a[i+1][1]=nr;
nr+=2;
for(int j=2;j<=k;++nr,++j)
a[i+1][j]=nr;
}
nr=(n-1)*k+1;
for(int i=1;i<k;++i,++nr)
a[n][i]=nr;
a[n][k]=nr+1;
nr=n*k+2;
a[1][k+1]=n*k;
for(int j=k+2;j<=n;++j,++nr)
a[1][j]=nr;
for(int i=2;i<=n;++i)
for(int j=k+1;j<=n;++j,++nr)
a[i][j]=nr;
}
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
g<<a[i][j]<<" ";
g<<'\n';
}
return 0;
}