Cod sursa(job #2658553)
Utilizator | Data | 14 octombrie 2020 11:40:05 | |
---|---|---|---|
Problema | Tablete | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.61 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
const int NMAX=1005;
int n,k,nr=1,a[NMAX][NMAX];
bool ok;
int main()
{
f>>n>>k;
if(k%2==0)
{
for(int i=1;i<=n;i++)
{
for(int j=ok+1;j<=n;j++)
{
if(j==k)
{
if(nr%2==0)
a[i][j]=nr;
else
a[i+1][1]=nr,a[i][j]=nr+1,nr++;
}
else
a[i][j]=nr;
nr++;
}
if(a[i+1][1]!=0)
ok=1;
else
ok=0;
}
}
else
{
for(int i=1;i<n;i++)
{
for(int j=ok+1;j<=n;j++)
{
if(j==k)
{
if(nr%2==0)
a[i][j]=nr;
else
a[i+1][1]=nr,a[i][j]=nr+1,nr++;
}
else
a[i][j]=nr;
nr++;
}
if(a[i+1][1]!=0)
ok=1;
else
ok=0;
}
a[n][ok+1]=a[n-1][n];
for(int j=ok+2;j<=n;j++)
{
a[n][j]=nr;
nr++;
}
a[n-1][n]=nr;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
g<<a[i][j]<<" ";
g<<"\n";
}
return 0;
}