Cod sursa(job #2319596)

Utilizator alexdumitrescuDumitrescu George Alex alexdumitrescu Data 13 ianuarie 2019 21:53:33
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int ds[30], dp[30], c[15], v[15], n, ok, sol;
void regine (int k)
{
    int i, d;
    if(k==n+1)
    {
        if(ok==0)
            {
                for(i=1;i<=n;i++)
                    fout << v[i] << ' ';
                fout << '\n';
                ok=1;
            }
        sol++;
    }
    for(i=1;i<=n;i++)
        {
            int d=k-i+1;
            if(d<=0)
                d=n+abs(d)+1;
            if(dp[d]==0)
            if(c[i]==0&&ds[i+k]==0&&dp[d]==0)
            {
                c[i]=1;
                ds[i+k]=1;
                dp[d]=1;
                v[k]=i;
                regine(k+1);
                dp[d]=0;
                ds[i+k]=0;
                c[i]=0;
            }
        }
}
int main()
{
    fin >> n;
    regine(1);
    fout << sol;
    return 0;
}