これは、私がやりたいことに時間がかかりすぎています。これを速くする方法はありますか?
編集申し訳ありませんが、品質の郵便番号の問題が続いていたので、最低限のものを投稿しました。
私がやろうとしているのは、オマハ ポーカーのエクイティ計算機です。
A-彼に渡した 4 枚のカード (myhand[4]) を取り、可能な手のすべての組み合わせをチェックして、重複がないかどうかを確認します。
B-重複がある場合、そのハンドを含むベクトルの行を削除したい (したがって、後でエクイティを計算するときに、誰かが持つことが不可能なハンドに対しては計算しません)
int myhand[4] = { 3, 12, 22, 10 };
vector<vector<int> > vec(4, vector<int>(270725));
for (int m = 0; m < vec[0].size(); m++) { // A
for (int k = 0; k < 4; k++) {
for (int j = 0; j < 4; j++)
if (myhand[k] == vec[j][m]) {
for (int i = 0; i < 4; i++) {
vec[i].erase(vec[i].begin() + m); // B
}
k = 0;
j = 0;
break;
}
}
}
このコードをより効率的に使用する方法はありますか?
ありがとう、カヴェン