Pagini recente » Cod sursa (job #2815811) | Cod sursa (job #1418225) | Cod sursa (job #838977) | Cod sursa (job #1980940) | Cod sursa (job #810019)
Cod sursa(job #810019)
#include <fstream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int m[1002][1002];
bool u[1002*1002];
int n,k;
void afis()
{
int i,j;
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
printf("%d ",m[i][j]);
printf("\n");
}
exit(0);
}
void back(int lin,int col)
{
int i;
if(col == (n+1))
{
lin+=1;
col =1;
}
if(lin == (n+1))
afis();
i = m[lin][col-1] + 1;
if(col != k)
{
for(;i<=n*n;++i)
if(!u[i])
{
u[i] = 1;
m[lin][col] = i;
back(lin,col+1);
u[i] = 0;
}
}
else
{
for(i+=(i%2);i<=n*n;i+=2 )
if(!u[i])
{
u[i] = 1;
m[lin][col] = i;
back(lin,col+1);
u[i] = 0;
}
}
}
int main()
{
ifstream in("tablete.in");
freopen("tablete.out","w",stdout);
in >> n >> k;
back(1,1);
return 0;
}