Pagini recente » Cod sursa (job #857821) | Borderou de evaluare (job #3332130) | Borderou de evaluare (job #3332114) | Cod sursa (job #3331217) | Cod sursa (job #3331984)
#include <fstream>
using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int ma[1001][1001],f[1000001];
int main()
{
int n,k,nrp,nr,y,x;
cin>>n>>k;
nrp=(k-1)/2*4;
if(nrp<1)
nrp=2;
for(int n2=1;n2<=n;n2++) {
while(f[nrp]>0)
nrp+=2;
ma[n2][k]=nrp;
nr=nrp-1;
f[nrp]++;
for(int n3=k-1;n3>=1;n3--, nr--) {
while(f[nr]>0 && nr>0)
nr--;
ma[n2][n3]=nr;
f[nr]++;
if(nr==0) {
for(n3=n3;n3<=k;n3++)
f[ma[n2][n3]]--;
n2--;
break;
}
}
nrp+=2;
}
y=1;
x=k+1;
for(nr=1;nr<=n*n;nr++) {
if(f[nr]==0) {
ma[y][x]=nr;
x++;
if(x>n) {
y++;
x=k+1;
}
}
}
for(y=1;y<=n;y++) {
for(x=1;x<=n;x++)
cout<<ma[y][x]<<" ";
cout<<'\n';
}
return 0;
}