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

📄 main.cpp

📁 数据结构 八皇后问题解决方案一 很好的代码
💻 CPP
字号:
#include<iostream.h>#include"EightQueens.h"#include"time.h"void main()/*Pre:  The user enters a valid board size.Post: All solutions to the n-queens puzzle for the selected      board size are printed.Uses: The class Queens and the recursive function solve_from.*/{   int board_size;   void solve_from(Queens &configuration);   void print_information();   print_information();   cout << "What is the size of the board? " << flush;   cin  >> board_size;   //double start=time(NULL);
   double start = clock();   if (board_size < 0 || board_size > max_board)      cout << "The number must be between 0 and " << max_board << endl;   else {      Queens configuration(board_size); //   Initialize empty configuration.      solve_from(configuration);  //  Find all solutions extending configuration.   }   //double end=time(NULL);   double end = clock();
   cout<<"It takes time: "<<(end-start)/CLOCKS_PER_SEC<<"(s)"<<endl;}void print_information(){	cout<<"This is the Queens game."<<endl;}void solve_from(Queens &configuration)/*Pre:  The Queens configuration represents a partially completed      arrangement of nonattacking queens on a chessboard.Post: All n-queens solutions that extend the given configuration are printed.      The configuration is restored to its initial state.Uses: The class Queens and the function solve_from, recursively.*/{   if (configuration.is_solved()) 
	   configuration.print(); //return;    else      for (int col = 0; col < configuration.board_size; col++)         if (configuration.unguarded(col)) {            configuration.insert(col);            solve_from(configuration);   //   Recursively continue to add queens.            configuration.remove(col);         }}

⌨️ 快捷键说明

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