122
社区成员




ddl 2023-10-07 23:59:59
第一次结对编程作业,你已经完成了9个九宫格数独的并发生成。jason哥能迅速求解9个数独,求解速度极快,已经没有了人类对手,于是需要你用一定的算法来并发求解9个数独,和jason哥比比求解的速度。注意,必须实现并发求解,而非串行求解,否则求解速度差距悬殊太大啦。
本次作业要求基于第一次结对编程作业继续完成,请完成一个“9个九宫格数独生成和求解”网页端或APP的开发。
代码实现。在第一次结对编程作业的基础上,完善相关的功能,9个九宫格数独的并发求解,特别注意,必须使用并发技术生成和求解9个数独,而不是串行生成和求解。你可能需要学习多线程或多进程、并发数据结构、调优和性能测试等技术,将实现的代码上传至GitHub,并在上传代码的仓库的README.md中写清楚运行代码的方法,方便助教检查。
界面要求
设计美观。UI 设计规范统一,美观精致。
用户易懂易用,符合主流人群的使用习惯。
功能要求
并发生成可解的9个九宫格数独个数。
并发求解生成的9个九宫格数独。
附加分
不仅支持系统并发求解,还可以用户输入求解数独。
针对用户的求解给出提出性信息(求解正确或错误,哪一行那一列不符合数独要求等)。
制定合适的代码规范,进行测试。
使用 git 进行版本控制,两个人要通过 git 协作方式完成编码。两个都要有代码编写和相应的单元测试。
结对的两名同学都需要提交作业,一名同学的博客为完整内容,另一名同学的博客只需要附上完整内容博客链接。
基础格式要求
为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加格式描述:
这个作业属于哪个课程 | |
---|---|
这个作业要求在哪里 | |
个人学号 | |
结对成员学号 | |
GitHub 仓库地址 |
代码如下:
|这个作业属于哪个课程|<班级的链接>| |-- |-- | |这个作业要求在哪里|<作业要求的链接>| |个人学号|<个人学号>| | 结对成员学号 |<结对成员学号>| |GitHub 仓库地址|<GitHub仓库地址>|
标记结对两个人的学号姓名信息(结对作业两人都需提交,内容的组织可有不同)。
记录本次作业的PSP表格,包括预估耗时和实际耗时。
给出你认为的是重点或难点功能、编程思考,至少2点。
详细写出运用的算法和技术,包括并发性求解算法等。
实现代码的GitHub链接,注意仓库要设置为公开,方便助教检查。
给出照片若干张,包括纸画原型、结对的同学、工作地点、计算机等,可选项包括其他能表达结对编程工作经历的物品或场景。
给出至少3项在编码、争论、复审等活动中花费时间较长,给你较大收获的事件。
总结本次作业,遇到的难点以及如何解决、第二次结对编程的体验等等,两位同学分别总结。
注:数独求解的相关算法可供参考,但注意,本次作业要求的是9个数独的并发生成和并发求解
1.https://github.com/Riroaki/Auto-Sudoku-Player
功能实用性(30)——是否具备基础功能 并发求解9个可解的九宫格数独
创新度(10)——是否具备自己的创新点。
界面美化度(10)——界面是否逻辑清晰,界面美观。
博客描述(40)——是否按要求编写作业内容,以及描述规范。
代码规范(5)
git commit 信息规范,两个人要通过 git 协作方式完成编码。(5)