いくつかの種族から4頭の馬の組み合わせを選択するアルゴリズムを構築しようとしています。
つまり、10のレースがあり、それぞれ8頭の馬が走っているとします。4頭の馬が別々のレースから来なければならないという条件で、これらのレースの4頭の馬のすべての組み合わせが必要です(同じ組み合わせの2頭の馬が同じ馬から来ることはできません)人種)。
この問題(および既存のアルゴリズム)の名前はありますか?
一連のループになると思いますが、今日はコーヒーを飲んでいません...乾杯
編集:私はそれぞれの組み合わせについて、その組み合わせに対してかなり長い機能を実行すると言うべきなので、私はすでに行った組み合わせを繰り返したくありません。
編集:これよりも良い方法はありますか?
n = number of races;
for ( int i = 0; i < n; i++ ) {
for ( int j = i + 1; j < n; j++ ) {
for ( int k = j + 1; k < n; k++ ) {
for (int l = k + 1; l < n; l++) {
//for each combination of 4 separate sets
for(int p = 0; p < races.get(i).getHorses().size(); p++){
for(int q = 0; q < races.get(j).getHorses().size(); q++){
for(int r = 0; r < races.get(k).getHorses().size(); r++){
for(int s = 0; s < races.get(l).getHorses().size(); s++){
//each combination of 4 horses
races.get(i).getHorses().get(p)
races.get(j).getHorses().get(q)
races.get(k).getHorses().get(r)
races.get(l).getHorses().get(s)
}
}
}
}
}
}
}
}