Cod sursa(job #1649820)

Utilizator george_stelianChichirim George george_stelian Data 11 martie 2016 15:14:47
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>

using namespace std;

int v[15],n,sol,prima=1;
char vaz1[15],vaz2[30],vaz3[30];

void back(int k)
{
    if(k==n+1)
    {
        if(prima)
        {
            for(int i=1;i<=n;i++) printf("%d ",v[i]);
            printf("\n");
            prima=0;
        }
        sol++;
    }
    else for(int i=1;i<=n;i++)
        if(!vaz1[i] && !vaz2[n+i-k] && !vaz3[i+k])
        {
            vaz1[i]=vaz2[n+i-k]=vaz3[i+k]=1;
            v[k]=i;
            back(k+1);
            vaz1[i]=vaz2[n+i-k]=vaz3[i+k]=0;
        }
}

int main()
{
    freopen("damesah.in", "r", stdin);
    freopen("damesah.out", "w", stdout);
    scanf("%d",&n);
    back(1);
    printf("%d",sol);
    return 0;
}