У меня есть вектор, в котором хранятся некоторые целые числа. В этом векторе могут быть все числа, кроме 10, 12, 31 не могут появляться вместе или в парах, то есть 10 и 12, 10 и 31, 12 и 31, 10 12 и 31 являются недействительными Я придумал следующий подход:
int main(){
int a[] = {10,2,31}; //can be of any size
vector<int> v(a, a+3);
short cnt = 0;
if(find(v.begin(), v.end(), 10) != v.end())
++cnt;
if(find(v.begin(), v.end(), 12) != v.end())
++cnt;
if(find(v.begin(), v.end(), 31) != v.end())
++cnt;
if(cnt > 1)
cout<<"Invalid options";
else
cout<<"Valid options";
return EXIT_SUCCESS;
}
который работает. Есть лучший способ сделать это? Тем более, что вектор может содержать любое количество элементов, может ли быть какой-либо недостаток?