文件名称:tcus-chess:国际象棋挑战赛
文件大小:36KB
文件格式:ZIP
更新时间:2024-06-03 05:25:30
Java
象棋 该存储库包含描述的Chess Challenge的Java解决方案。 考虑到问题的规模,该解决方案的某些方面似乎设计过度,但是根据挑战说明中的要求,该解决方案试图说明最佳实践的使用。 设计注意事项: 该解决方案基于具有回溯功能的深度优先搜索。 一些实验是使用广度优先进行的,但没有提供任何改进,并且“访问集”被认为会增加内存负担。 在每个步骤中,问题都受到已经摆放数字威胁的位置的限制。 一个位集用于表示板状态。 零件是按种类排序的,将那些会提供更大约束的零件放在第一位,以便更快地找到不可能的路径。 当放置两个相同种类的零件时,在第二个零件中避免了第一个零件之后的路径。 当可用的位置少于要放置的位置时,将立即放弃该路径。 使用不可变对象可访问该解决方案,以简化可并行化解决方案的分析。 提出的解决方案在DFS的第一级上分发工作。 尝试了对称性降低:在方形板上,只有四分之一的
【文件预览】:
tcus-chess-master
----.gitignore(189B)
----chess()
--------.gitignore(129B)
--------pom.xml(2KB)
--------src()
----README.md(6KB)
----LICENSE(11KB)