Pagini recente » Cod sursa (job #1464767) | Cod sursa (job #324226) | Cod sursa (job #2522532) | Cod sursa (job #1861621) | Cod sursa (job #2256565)
#include <fstream>
#include <bitset>
#include <cassert>
const int maxN=1e3+1;
using namespace std;
int n,k;
bitset<maxN*maxN> used;
int sol[maxN][maxN];
int main()
{
ifstream f("tablete.in");
ofstream g("tablete.out");
f>>n>>k;
if(k%2==0)
for(int i=1;i<=n;i++){
sol[i][k]=i*k;
used[i*k]=true;
}
else
for(int i=1;i<=n;i++){
sol[i][k]=i*k+i%2;
used[i*k+i%2]=true;
}
int val=1;
for(int i=1;i<=n;i++)
{
int idx=1;
while(idx<k)
{
if(!used[val]){
sol[i][idx]=val;
used[val]=true;
idx++;
}
val++;
}
}
for(int i=1;i<=n;i++)
{
int idx=k+1;
while(idx<=n)
{
if(!used[val]){
sol[i][idx]=val;
used[val]=true;
idx++;
}
val++;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
g<<sol[i][j]<<" ";
g<<"\n";
}
return 0;
}