#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int> &a_){
vector<int> t;
int n = a_.size();
for(int i = 0; i < n; i++)
for(int j = 0; j < n - i - 1; j++)
if(a_[j] > a_[j + 1])
swap(a_[j], a_[j + 1]);
for(auto &i: a_) if(i & 1) t.push_back(i);
a_ = t;
}
void solve(){
vector<int> a = {2, 10, 5, 3, 11, 9, 12};
bubbleSort(a);
cout << "a = {";
for(int i = 0; i < a.size() - 1; i++)
cout << a[i] << ", ";
cout << a.back() << "}";
int main(){
solve();
Объяснение:
Гласная всего одна - И, поэтому слоги могут быть трех типов:
1) И - первая.
Вторая буква может быть любая из 5: З, Ф, Т, Ш, М.
Третья тоже любая из оставшихся.
Но, если вторая была З, Ш или М, то третья может быть любая из 4. Например, вторая З: ИЗФ, ИЗТ, ИЗШ, ИЗМ.
А если вторая была Ф или Т, то третья может быть тоже любая из 4. Например, вторая Ф: ИФЗ, ИФТ, ИФШ, ИФМ
И отдельно варианты с двумя одинаковыми буквами: ИФФ, ИТТ.
Всего получается 3*4 + 2*4 + 2 = 12 + 8 + 2 = 22 варианта.
2) И - вторая. Здесь тоже самое.
Первая буква может быть любая из 5: З, Ф, Т, Ш, М.
Но, если первая была З, Ш или М, то третья может быть любая из 4. Например, первая З: ЗИФ, ЗИТ, ЗИШ, ЗИМ.
А если первая была Ф или Т, то третья может быть тоже любая из 4. Например, первая Ф: ФИЗ, ФИТ, ФИШ, ФИМ.
И отдельно варианты с двумя одинаковыми буквами: ФИФ, ТИТ.
3) И - третья. И здесь тоже самое.
Вторая тоже любая из оставшихся.
Но, если первая была З, Ш или М, то вторая может быть любая из 4. Например, первая З: ЗФИ, ЗТИ, ЗШИ, ЗМИ.
А если первая была Ф или Т, то вторая может быть тоже любая из 4. Например, первая Ф: ФЗИ, ФТИ, ФШИ, ФМИ.
И отдельно варианты с двумя одинаковыми буквами: ФФИ, ТТИ.
Итого получается 3*22 = 66 вариантов.
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int> &a_){
vector<int> t;
int n = a_.size();
for(int i = 0; i < n; i++)
for(int j = 0; j < n - i - 1; j++)
if(a_[j] > a_[j + 1])
swap(a_[j], a_[j + 1]);
for(auto &i: a_) if(i & 1) t.push_back(i);
a_ = t;
}
void solve(){
vector<int> a = {2, 10, 5, 3, 11, 9, 12};
bubbleSort(a);
cout << "a = {";
for(int i = 0; i < a.size() - 1; i++)
cout << a[i] << ", ";
cout << a.back() << "}";
}
int main(){
solve();
}
Объяснение:
Гласная всего одна - И, поэтому слоги могут быть трех типов:
1) И - первая.
Вторая буква может быть любая из 5: З, Ф, Т, Ш, М.
Третья тоже любая из оставшихся.
Но, если вторая была З, Ш или М, то третья может быть любая из 4. Например, вторая З: ИЗФ, ИЗТ, ИЗШ, ИЗМ.
А если вторая была Ф или Т, то третья может быть тоже любая из 4. Например, вторая Ф: ИФЗ, ИФТ, ИФШ, ИФМ
И отдельно варианты с двумя одинаковыми буквами: ИФФ, ИТТ.
Всего получается 3*4 + 2*4 + 2 = 12 + 8 + 2 = 22 варианта.
2) И - вторая. Здесь тоже самое.
Первая буква может быть любая из 5: З, Ф, Т, Ш, М.
Третья тоже любая из оставшихся.
Но, если первая была З, Ш или М, то третья может быть любая из 4. Например, первая З: ЗИФ, ЗИТ, ЗИШ, ЗИМ.
А если первая была Ф или Т, то третья может быть тоже любая из 4. Например, первая Ф: ФИЗ, ФИТ, ФИШ, ФИМ.
И отдельно варианты с двумя одинаковыми буквами: ФИФ, ТИТ.
Всего получается 3*4 + 2*4 + 2 = 12 + 8 + 2 = 22 варианта.
3) И - третья. И здесь тоже самое.
Первая буква может быть любая из 5: З, Ф, Т, Ш, М.
Вторая тоже любая из оставшихся.
Но, если первая была З, Ш или М, то вторая может быть любая из 4. Например, первая З: ЗФИ, ЗТИ, ЗШИ, ЗМИ.
А если первая была Ф или Т, то вторая может быть тоже любая из 4. Например, первая Ф: ФЗИ, ФТИ, ФШИ, ФМИ.
И отдельно варианты с двумя одинаковыми буквами: ФФИ, ТТИ.
Всего получается 3*4 + 2*4 + 2 = 12 + 8 + 2 = 22 варианта.
Итого получается 3*22 = 66 вариантов.