Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //main
- #include <iostream>
- #include <vector>
- #include "SudokuGen.h"
- #include "DigSudoku.h"
- #include "SolveSudoku.h"
- using namespace std;
- void print_board(vector <int >);
- int main()
- {
- int Ans = 0; // 數獨解的個數
- vector <int > digboard;
- SudokuGen NewBoard; // 產生棋盤物件
- vector <int > board = NewBoard.get_board(); //取得棋盤
- print_board(board); // 將棋盤印出
- while(Ans!=1) // 檢查題目是否有唯一解,且解答與題目一致
- {
- DigSudoku Board_Dig(board,35); // 挖洞出題
- digboard = Board_Dig.get_board(); // 取得挖洞後的棋盤
- SolveSudoku Board_Solve(digboard,0); // 解題
- Ans = Board_Solve.getAns(); // 取得題目總共有多少個解
- if (Ans==1 && board!=Board_Solve.get_board())
- {
- Ans = 0;
- }
- }
- print_board(digboard); // 印出題目
- return 0;
- }
- void print_board(vector <int > board) //將棋盤印出
- {
- for (int i=0;i<board.size();i++)
- {
- if(board[i]==0){cout << " ";}
- else{cout << board[i] << ' ';}
- if ((i+1) % 9 == 0)
- {
- cout << endl;
- }
- }
- cout << endl;
- }
Add Comment
Please, Sign In to add comment