《算法设计与分析_NQueen_C++程序》由会员分享,可在线阅读,更多相关《算法设计与分析_NQueen_C++程序(4页珍藏版)》请在金锄头文库上搜索。
1、/- Node.h /- #pragma once class CNode public: CNode(void); CNode(int ii,int n); CNode(int ii, int *xx, int n);CNode(void);bool constrain();int level; int *x; ;/- Node.cpp #include “Node.h“#include using namespace std;CNode:CNode(void) CNode:CNode(void) CNode:CNode(int ii,int *xx, int nn) level=ii; x
2、=xx; for(int j=1;j #include #include“queue“; #include“Node.h“; using namespace std;static void FIFOQueen(int n, int * void LoadInputData(int void OutputResult(int *p,string output,int n);int main() string input=“input.txt“; string output=“output.txt“; int n=0; LoadInputData(n,input);/ load input dat
3、a: n int *bestx=new intn+1;/ used to record the solution FIFOQueen(n,bestx);/ search OutputResult(bestx,output,n);/output data void FIFOQueen(int n, int * bool found; CNode E(0,n); / initialize bestx=new intn+1; found=false; /flag: whether one solution is found or not while(true) if(E.level=n) / one solution is found for(int k=1;k n; ist.close(); void OutputResult(int *p,string output,int n) ofstream ost(output);if(ost.is_open() for(int i=1;i=n;i+) ostpi“ “;