Cod sursa(job #1291405)
Utilizator | Data | 12 decembrie 2014 19:16:05 | |
---|---|---|---|
Problema | Problema Damelor | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int C[15],D1[15],D2[15],n,nr,sol[15];
void dame(int k){
if(k==n+1){
if(nr==0){
for(int i=1;i<=n;i++)
fout<<sol[i]<<" ";
fout<<"\n";
}
nr++;
}
else{
for(int i=1;i<=n;i++)
if(!C[i] && !D1[k+i] && !D2[n+k-i]){
sol[k]=i;
C[i]=D1[k+i]=D2[n+k-i]=1;
dame(k+1);
C[i]=D1[k+i]=D2[n+k-i]=0;
}
}
}
int main(){
fin>>n;
dame(1);
fout<<nr;
}