Guest User

Untitled

a guest
Jan 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. //main
  2. #include <iostream>
  3. #include <vector>
  4. #include "SudokuGen.h"
  5. #include "DigSudoku.h"
  6. #include "SolveSudoku.h"
  7.  
  8. using namespace std;
  9.  
  10. void print_board(vector <int >);
  11.  
  12. int main()
  13. {
  14. int Ans = 0; // 數獨解的個數
  15. vector <int > digboard;
  16. SudokuGen NewBoard; // 產生棋盤物件
  17. vector <int > board = NewBoard.get_board(); //取得棋盤
  18. print_board(board); // 將棋盤印出
  19.  
  20. while(Ans!=1) // 檢查題目是否有唯一解,且解答與題目一致
  21. {
  22. DigSudoku Board_Dig(board,35); // 挖洞出題
  23. digboard = Board_Dig.get_board(); // 取得挖洞後的棋盤
  24. SolveSudoku Board_Solve(digboard,0); // 解題
  25. Ans = Board_Solve.getAns(); // 取得題目總共有多少個解
  26. if (Ans==1 && board!=Board_Solve.get_board())
  27. {
  28. Ans = 0;
  29. }
  30. }
  31. print_board(digboard); // 印出題目
  32. return 0;
  33. }
  34.  
  35. void print_board(vector <int > board) //將棋盤印出
  36. {
  37. for (int i=0;i<board.size();i++)
  38. {
  39. if(board[i]==0){cout << " ";}
  40. else{cout << board[i] << ' ';}
  41. if ((i+1) % 9 == 0)
  42. {
  43. cout << endl;
  44. }
  45. }
  46. cout << endl;
  47. }
Add Comment
Please, Sign In to add comment