学校のプロジェクトで、c# でプログラムを作成する必要があります。私は正しい軌道に乗っていると思いますが、この問題に固執しました。
プログラムのこのセクションでは、バックトラッキング アルゴリズムを作成する必要があります。私はクラス(英語、物理学、数学など)を持っており、すべてのクラスは特定の時間続きます。(たとえば、1h、2h、3h、5h など)。また、その日に学校で過ごすことができる時間を示す maxClassHours があります。アルゴリズムは、この maxClassHours を満たすクラスのすべての可能な組み合わせを可能な限り収集する必要があります。
特定のクラスに一度しか座れないことが重要です。そのため、数学の授業は 1 つしか受けられません。
たとえば、maxClassHours が 5 であるため、5 時間、別のクラスに座って過ごすことができます。
これらのクラスがあるとしましょう:
- 数学 - 2時間
- 物理学 - 1時間
- 音楽 - 2時間
- ダンス - 5h
- 体育 - 3時間
- 地理 - 5時間
- 英語 - 3時間
- フランス語 - 1時間
- サイエンス - 7h
- アート - 1時間
目標は、この 5 時間を満たすすべての可能な組み合わせを (バックトラック アルゴリズムを使用して) 見つけることです。
意味があるといいのですが...助けてくれてありがとう。
編集: バックトラッキング アルゴリズムをこの問題に適用する方法を理解したいと思います。
EDIT2: 何時間も作業を試みましたが、大きな進歩を遂げることができませんでした。そのため、助けを求めています...