This project assignment focuses on solving programming problems by creating algorithms (CLO2), apply procedural, functional and object-oriented programming concepts (CLO3), use development environments (CLO4), and create static, dynamic and interactive data visualizations (CLO5).
What you need to do
The A Survey of NP-Complete puzzles paper has 24 puzzles that are NP-Complete. NP-complete problems can be verified easily but are difficult to solve. To get details of some of the puzzles, you might have to search on the internet.
- Pick one of the 24 puzzles you will work on in this assignment. Mention which puzzle did you pick?（已经选好了，数独游戏）
- Write the rules of the game for the puzzle you picked.
- Implement a program that allows the user to solve a puzzle. The puzzle should be in its standard size, if any. For example, if you choose Sudoko, the size should be 9X9. If the puzzle has no standard size, choose any of the known ones for that puzzle.
- Include in your program an algorithm that verifies the user’s solution to the puzzle. The algorithm takes the solved version of the puzzle board as input and verifies the solution. Your algorithm should return “Solved!” (or similar text of your choice) if the input board provided is solved correctly, else return “Not Solved, Try Again!” (or similar).
- Implement a code to find one solution to the puzzle. Given a puzzle board for the puzzle that you chose in 1, return one solution to that puzzle, if any.
Parts 4 and 5 must be automated. The assignment is asking to implement an algorithm to verify the solution (part 4) and another one to solve the problem (part 5). The code must be dynamic and not just going through a pre-defined steps.
What to turn in
- READ.ME file.
The file should include a brief description of the project, execution instructions, an example of running the program
- API documentation
List all the functions with an explanation of what each function does, the arguments of the function and what it returns.
- PY code file(s)
Apply coding conventions, such as comments, naming conventions, programming practices, etc.
DO NOT ZIP the files.
本网站支持 Alipay WeChatPay PayPal等支付方式
E-mail: email@example.com 微信号:vipnxx