⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xephau.cpp

📁 The program simulate an 8 Queen mathematical problem
💻 CPP
字号:
// Thuat toan quay lui
// Bai toan xep n con hau tren ban co
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define fileout "XepHau.out"
#define N 8
#define SC (N-1)
#define SDC (2*N-1)
int soloigiai;
int Hau[N];
bool cot[SC];
bool cheonguoc[SDC],cheoxuoi[SDC];
FILE *fp;
void Init()
{
    int i;
    for(i=0;i<=SC;i++)
        cot[i]=true;
    for(i=0;i<=SDC;i++)
    {
        cheoxuoi[i]=true;
        cheonguoc[i]=true;
    }
    soloigiai=0;
    // Moi file
    fp=fopen(fileout,"w");
}
void PrintResult()
{
    int i;
    fprintf(fp,"\n+ Loi giai thu%3d",soloigiai);
    for(i=0;i<N;i++)
        fprintf(fp,"%3d",Hau[i]);
}
void Try(int i)
{
    int j;
    for(j=0;j<N;j++)
    {
        if(cot[j] && cheoxuoi[i+j] && cheonguoc[i-j+SC])
        {
            Hau[i]=j;
            cot[j]=false;
            cheoxuoi[i+j]=false;
            cheonguoc[i-j+SC]=false;
            if(i==N-1)
            {
                soloigiai++;
                PrintResult();
            }
            else
                Try(i+1);
            // Phuc hoi
            cot[j]=true;
            cheoxuoi[i+j]=true;
            cheonguoc[i-j+SC]=true;
        }
    }
}
int main()
{
    Init();
    Try(0);
    fclose(fp);
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -