Pagini recente » Cod sursa (job #2971540) | Cod sursa (job #122929) | Cod sursa (job #3040171) | Cod sursa (job #2555868) | Cod sursa (job #2568130)
#include <iostream>
#include <fstream>
#define nmax 1002
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n,k,a[nmax][nmax];
int main()
{
fin>>n>>k;
int nr=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=nr++;
if(n%2==0 && k%2==0)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
else if(n%2==0 && k%2==1)
{
for(int i=1;i<=n;i+=2)
{
for(int j=2;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<a[i+1][n]<<"\n"<<a[i][1]<<" ";
for(int j=1;j<n;j++)
fout<<a[i+1][j]<<" ";
fout<<"\n";
}
}
else if(n%2==1 && k%2==0)
{
for(int i=2;i<n-2;i+=2)
{
int a1=a[i][1];
for(int j=1;j<n;j++)
a[i][j]=a[i][j+1];
int a2=a[i+2][n];
for(int j=n;j>1;j--)
a[i+2][j]=a[i+2][j-1];
a[i+2][1]=a1;
a[i][n]=a2;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
else if(n%2==1 && k%2==1)
{
for(int i=1;i<n;i+=2)
{
int a1=a[i][1];
for(int j=1;j<n;j++)
a[i][j]=a[i][j+1];
int a2=a[i+1][1];
a[i+1][1]=a1;
a[i][n]=a2;
}
for(int i=1;i<n;i++)
{
for(int j=1;j<n;j++)
fout<<a[i][j]<<" ";
fout<<a[n][i]<<"\n";
}
for(int i=1;i<=n;i++)
fout<<a[i][n]<<" ";
fout<<"\n";
}
return 0;
}