Cod sursa(job #2285178)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 18 noiembrie 2018 11:30:57
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,x[31],et;
bool dp[31],ds[31],viz[15];
void tipar(int n){
    for(int i=1;i<=n;i++)
            g<<x[i]<<' ';
}
inline void back(int k){
    for(int i=1;i<=n;i++){

        if(ds[k+i-1]==0 && dp[n-(i-k)]==0 && viz[i]==0){
              x[k]=i;
            viz[i]=1;

            dp[n-i+k]=1;
            ds[k+i-1]=1;
            if(k==n){
                if(et==0)
                    tipar(n);
                et++;
            }
            else
                back(k+1);
            viz[i]=0;
            dp[n-(i-k)]=0;
            ds[k+i-1]=0;
        }
    }
}
int main()
{   f>>n;
    back(1);
    g<<'\n'<<et;
    return 0;
}