Cod sursa(job #2285161)

Utilizator anamariatoaderAna Toader anamariatoader Data 18 noiembrie 2018 11:22:40
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,c[15],dp[30],ds[30],x[15],nr;
void tipar(int n){
    for(int i=1;i<=n;i++)
        fout<<x[i]<<' ';
}
void back(int k){
    int i;
    for(i=1;i<=n;i++)
        if(c[i]==0 && dp[n-(i-k)]==0 && ds[k+i-1]==0){
            x[k]=i;
            c[i]=1;
            dp[n-i+k]=1;
            ds[k+i-1]=1;
            if(k==n){
                if(nr==0)
                    tipar(n);
                nr++;
            }
            else
                back(k+1);
            c[i]=0;
            dp[n-(i-k)]=0;
            ds[k+i-1]=0;
        }
}
int main()
{
    fin>>n;
    back(1);
    fout<<'\n'<<nr;

    return 0;
}