我有一个学校项目,我必须用 C# 编写一个程序。我认为我在正确的轨道上,但我坚持这个问题。
在程序的这一部分,我必须编写一个回溯算法。我有课程(英语、物理、数学等),所有课程都持续特定时间。(例如 1h、2h、3h、5h 等)。另外,我有 maxClassHours ,它显示了一个人今天可以在学校度过多少时间。该算法应尽可能收集填充此 maxClassHours 的类的所有可能组合。
重要的是我只能坐一次给定的课程!所以我只能上一节数学课。
例如,maxClassHours 是 5,所以我可以花 5 个小时坐在不同的班级。
假设我有这些课程:
- 数学 - 2小时
- 物理 - 1小时
- 音乐 - 2 小时
- 舞蹈 - 5小时
- 体育 - 3小时
- 地理 - 5小时
- 英语 - 3 小时
- 法语 - 1 小时
- 科学 - 7小时
- 艺术 - 1小时
目标是找到填补这 5 个小时的所有可能组合(使用回溯算法)。
我希望它有意义...谢谢您的帮助。
编辑:我想了解如何将回溯算法应用于此问题。
EDIT2:我尝试了几个小时的工作,但我无法取得重大进展,这就是我寻求帮助的原因......