Pagini recente » Cod sursa (job #27549) | Cod sursa (job #2333065) | Cod sursa (job #132308) | Cod sursa (job #2006171) | Cod sursa (job #1003018)
#include <iostream>
#include <fstream>
#define DN 1024
using namespace std;
bool ap[DN*DN];
int x[DN][DN];
int main()
{
int n,k,p,left,ramase=0;
ifstream f("tablete.in");
ofstream g("tablete.out");
f>>n>>k;
left = n*(n-k);
if(k==n || k==1)
while(1);
p=n*n;
if(p%2){
--p;
++ramase;
}
for(; left >ramase ;p-=2) { ramase+=2; }
for(int i=n;i>=1;--i,p-=2)
{
x[i][k]=p;
ap[p]=true;
}
p=n*n;
for(int i=n;i>=1;--i)
for(int j=n;j>k;--j)
if(!x[i][j])
{
while(ap[p])
--p;
x[i][j]=p;
ap[p]=true;
}
for(int i=n;i>=1;--i)
for(int j=k-1;j>=1;--j)
if(!x[i][j])
{
while(ap[p])
--p;
x[i][j]=p;
ap[p]=true;
}
for(int i=1;i<=n;++i,g<<"\n")
for(int j=1;j<=n;++j)
g<<x[i][j]<<" ";
return 0;
}