Pagini recente » Cod sursa (job #3331203) | Cod sursa (job #3325292) | Cod sursa (job #3331204) | Cod sursa (job #3328724) | Cod sursa (job #3336169)
#include <fstream>
using namespace std;
int A[1001][1001],v[1000001];
int main()
{
fstream fin("tablete.in");
fstream fout("tablete.out");
int N,K,i,x,j,a;
fin>>N>>K;
if((N*K)%2==1) a=1;
else a=0;
x=N*N;
if(a==1)
{
for(j=N;j>=K+1;j--)
{
A[N][j]=x;
x--;
}
x--;
A[N][K]=x;
for(j=K-1;j>=1;j--)
{
x--;
A[N][j]=x;
}
}
if(a==1) N=N-1;
for(i=N;i>=1;i--)
{
if(a==1) N=N+1;
for(j=N;j>=K+1;j--)
{
A[i][j]=x;
x--;
}
}
for(i=1;i<=x;i++) v[i]=1;
if(a==1) N=N-1;
for(i=N;i>=1;i--)
{
A[i][K]=x;
v[x]=0;
x=x-2;
}
x=A[N][K]-1;
for(i=N;i>=1;i--)
{
for(j=K-1;j>=1;j--)
{
while(v[x]==0) x--;
A[i][j]=x;
x--;
}
}
if(a==1)
{
N++;
A[N-1][N]=A[N][K]+1;
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
fout<<A[i][j]<<" ";
if(j==N) fout<<endl;
}
}
return 0;
}