Pagini recente » Cod sursa (job #1667078) | Cod sursa (job #1607571) | Cod sursa (job #1820177) | Cod sursa (job #877913) | Cod sursa (job #1238854)
#include <fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int nr,n,st[15];
bool col[15],dp[30],ds[30];
int afis(){
for(int i=1;i<=n;i++) g<<st[i]<<" ";
}
void back(int p){
if(p==n+1){ nr++;if(nr==1) afis();
}
else{
for(int i=1;i<=n;i++){
if(!col[i] && !dp[n-p+i] && !ds[p+i]){
col[i]=1; dp[n-p+i]=1; ds[p+i]=1;
st[p]=i;
back(p+1);
col[i]=0; dp[n-p+i]=0; ds[p+i]=0;
}
}
}
}
int main()
{
f>>n;
back(1);
g<<endl<<nr;
return 0;
}