Pagini recente » Cod sursa (job #1212624) | Cod sursa (job #68047) | Cod sursa (job #690499) | Cod sursa (job #1268797) | Cod sursa (job #3166555)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int mat[1001][1001];
int main()
{
int n,k,i,j,nr,t;
cin>>n>>k;
for(i=1,nr=1;i<=k;i++)
for(j=1;j<=k;j++,nr++)
mat[i][j]=nr;
for(t=k+1;t<=n;t++)
{
nr=t*t;
mat[t][t]=nr;
nr--;
for(i=t-1;i>=1;i--,nr--)
mat[i][t]=nr;
for(j=t-1;j>=1;j--,nr--)
mat[t][j]=nr;
if(mat[t][k]%2==1)
{
if(mat[t-1][t]%2==0)
swap(mat[t-1][t],mat[t][k]);
else
swap(mat[t-2][t],mat[t][k]);
}
}
if(k%2==1)
{
for(i=1;i<k;i+=2)
swap(mat[i][k],mat[i+1][1]);
mat[k][k]=nr;
swap(mat[k+1][1],mat[k][k]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<mat[i][j]<<" ";
cout<<'\n';
}
return 0;
}