Cod sursa(job #2246871)
Utilizator | Data | 27 septembrie 2018 17:31:31 | |
---|---|---|---|
Problema | Tablete | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.94 kb |
#include <fstream>
using namespace std;
ifstream cin ("tablete.in");
ofstream cout ("tablete.out");
int a[1005][1005];
int main()
{
int n,k,i,cnt,j;
cin>>n>>k;
if (k%2==0)
{
for (i=1;i<=n;i++)
for (j=1;j<=k;j++)
a[i][j]=(i-1)*k+j;
cnt=k*n;
for (i=1;i<=n;i++)
for (j=k+1;j<=n;j++)
{
cnt++;
a[i][j]=cnt;
}
}
else
{
for (i=1;i<=n/2;i++)
{
cnt=(i-1)*2*k;
for (j=1;j<=k-1;j++)
{
cnt++;
a[i*2-1][j]=cnt;
}
a[i*2-1][k]=cnt+2;
a[i*2][1]=cnt+1;
cnt+=2;
for (j=2;j<=k;j++)
{
cnt++;
a[i*2][j]=cnt;
}
}
if (n%2==1)
{
for (j=1;j<=k-1;j++)
a[n][j]=(n-1)*k+j;
a[n][k]=n*k+1;
a[1][k+1]=n*k;
cnt=n*k+2;
for (i=1;i<=n;i++)
{
if (i==1)
{
for (j=k+2;j<=n;j++)
{
a[i][j]=cnt;
cnt++;
}
}
else
{
for (j=k+1;j<=n;j++)
{
a[i][j]=cnt;
cnt++;
}
}
}
}
else
{
cnt=n*k;
for (i=1;i<=n;i++)
{
for (j=k+1;j<=n;j++)
{
cnt++;
a[i][j]=cnt;
}
}
}
}
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}