Pagini recente » Istoria paginii utilizator/krisztian1997 | Istoria paginii utilizator/tudor-cristian.saftescu | sitemap.xml | Borderou de evaluare (job #465375) | Cod sursa (job #3365790)
#include <fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n=3,p[15],C[30],DP[30],DS[30],sol;
void bkt(int lin)
{
/// CONDITIA DE OPRIRE
if(lin==n+1)
{
sol++;
if(sol==1)
{
for(int i=1;i<=n;i++)
g<<p[i]<<' ';
g<<'\n';
}
return;
}
for(int col=1;col<=n;col++)
{
if(C[col])continue;
if(DP[n+1+lin-col])continue;
if(DS[lin+col])continue;
p[lin]=col;
C[col]=1;
DP[n+1+lin-col]=1;
DS[lin+col]=1;
bkt(lin+1);
C[col]=0;
DP[n+1+lin-col]=0;
DS[lin+col]=0;
}
}
int main()
{
f>>n;
bkt(1);
g<<sol<<'\n';
return 0;
}