Cod sursa(job #2612061)
Utilizator | Data | 8 mai 2020 14:01:08 | |
---|---|---|---|
Problema | Tablete | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 2.36 kb |
#include <fstream>
using namespace std;
ifstream fin ("tablete.in");
ofstream fout ("tablete.out");
int a[1001][1001];
int main ()
{
int nr=0,n,k,i,j,nr1,nr2;
fin>>n>>k;
if (n%2==0 && k%2==0)
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
nr++;
a[i][j]=nr;
}
}
else
if (n%2==1 && k%2==0)
{
for (i=1;i<=n;i++)
for (j=1;j<k;j++)
{
nr++;
a[i][j]=nr;
}
for (i=1;i<=n;i++)
for (j=k;j<=n;j++)
{
nr++;
a[i][j]=nr;
}
}
else
if (n%2==0 && k%2==1)
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
nr++;
a[i][j]=nr;
}
for (i=1;i<n;i+=2)
{
nr1=a[i][1];
nr2=a[i+1][n];
for (j=1;j<n;j++)
a[i][j]=a[i][j+1];
a[i][n]=nr2;
for (j=n;j>1;j--)
a[i+1][j]=a[i+1][j-1];
a[i+1][1]=nr1;
}
}
else
if (n%2==1 && k%2==1)
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
nr++;
a[i][j]=nr;
}
for (i=1;i<n;i+=2)
{
nr1=a[i][1];
nr2=a[i+1][1];
for (j=1;j<n;j++)
a[i][j]=a[i][j+1];
a[i][n]=nr2;
a[i+1][1]=nr1;
}
nr1=a[n-1][n];
nr2=a[n][n];
for (i=n;i>1;i--)
a[n][i]=a[n][i-1];
a[n][1]=nr1;
a[n-1][n]=nr2;
}
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
fout<<a[i][j]<<" ";
fout<<'\n';
}
return 0;
}