Cod sursa(job #1349745)

Utilizator western100Sutu Eusebiu western100 Data 20 februarie 2015 14:19:29
Problema Problema Damelor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

ifstream f("dame.in");
ofstream g("dame.out");

int n,nr,v[14];
bool l[14],c[14],af;

void dame(int i,int j)
{
    if(j==n)
    {
        if(!af)
        {
            v[n]=j;
            for(int k=1;k<=n;k++)
                g<<v[k]<<' ';
            g<<'\n';
            nr++;
            af=true;
        }
        else
            nr++;
        return;
    }
    l[i]=true;
    c[j]=true;
    for(int k=1;k<=n;k++)
        if(!l[i+1] and !c[k])
            dame(i+1,k);
    l[i]=false;
    c[j]=false;
}

int main()
{
    f>>n;
    int i;
    for(i=1;i<=n;i++)
    {
        dame(1,i);
    }
    g<<nr;
    return 0;
}