Pagini recente » Cod sursa (job #526395) | Cod sursa (job #1399794) | Cod sursa (job #2635387) | Cod sursa (job #470709)
Cod sursa(job #470709)
#include <fstream>
using namespace std;
int v[1<<10][1<<10],n,k;
ifstream in("tablete.in");
ofstream out("tablete.out");
void print()
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
out<<v[i][j]<<" ";
out<<"\n";
}
}
bool bs(int x)
{
int i,step=1<<9;
for (i=0;step;step>>=1)
if (i+step<=n && v[i+step][k]<=x)
i+=step;
return v[i][k]==x;
}
int main()
{
int i,j,next=1;
in>>n>>k;
for (i=1;i<=n;i++)
v[i][k]=(k*(i-1)+k+1)/2*2;
for (i=1;i<=n;i++)
for (j=1;j<k;j++,next++)
{
next+=bs(next);
v[i][j]=next;
}
for (i=1;i<=n;i++)
for (j=k+1;j<=n;j++,next++)
{
next+=bs(next);
v[i][j]=next;
}
print();
return 0;
}