Sắp xếp lại chuỗi sao cho nguyên âm và phụ âm xen kẽ nhau, giữ thứ tự tương đối. Không thể thì in "not possible".
Ví dụ
Input: abce -> Output: abec
Thuật toán
1. ĐẾM SỐ NGUYÊN ÂM (nv) VÀ PHỤ ÂM (nc)
2. NẾU |nv-nc| >= 2 -> KHÔNG THỂ
3. NẾU nv > nc: IN NGUYÊN ÂM ĐẦU + XEN KẼ PHỤ ÂM
4. NẾU nc > nv: IN PHỤ ÂM ĐẦU + XEN KẼ NGUYÊN ÂM
5. NẾU BẰNG NHAU: SO SÁNH KÝ TỬ ĐẦU, IN NHỎ HƠN TRƯỚC
Chương trình C++ ví dụ
#include <iostream>
using namespace std;
bool isVowel(char ch) { return ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'; }
string createAltStr(string s1, string s2, int start, int l) {
string res="";
for(int i=0,j=start;j=2) return "no such string";
if(nv>nc) return v[0] + createAltStr(c,v,1,nv);
if(nc>nv) return c[0] + createAltStr(v,c,1,nc);
return (c[0]