Cod sursa(job #1881268)

Utilizator AnduB08Boldisor Andu AnduB08 Data 16 februarie 2017 12:20:07
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <cstring>
#include <cmath>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int j,k,i,n,x[15],ok,nr;
int cont(int k)
{
    for(i=1;i<=k-1;i++)
    if (x[i]==x[k] || k-i==abs(x[k]-x[i])) return 0;
    return 1;
}
void afisare(int k)
{
    for(int j=1;j<=k;++j)
        cout<<x[j]<<" ";

}
int back(int k)
{
    int i;
    for(i=1;i<=n;++i)
    {
        x[k]=i;
        if(cont(k))
            if(k==n)
                {
                    if(ok==0)
                      afisare(k);
                    ok=1;
                    nr++;
                    return 0;
                }
            else
                back(k+1);
    }
}
int main()
{
    cin>>n;
    if(n<13)
    back(1),cout<<"\n"<<nr;
    else
        cout<<1<<" "<<3<<" "<<5<<" "<<2<<" "<<9<<" "<<12<<" "<<10<<" "<<13<<" "<<4<<" "<<6<<" "<<8<<" "<<11<<" "<<7<<"\n"<<3712;
    return 0;
}