bool contains(string& s, string term)
{
return s.find(term) != string::npos;
}
int main()
{
string s;
long ans = 0;
while (true)
{
cin >> s;
if (s == ".")
break;
int vowelCount = 0;
bool duplicate = false, disallowed = false;
for (int i = 0; i < (int)s.size(); i++)
{
switch (s[i])
{
case 'u':
case 'e':
case 'o':
case 'a':
case 'i':
vowelCount++;
break;
}
if (i != s.size() - 1 && s[i] == s[i + 1])
duplicate = true;
}
disallowed = contains(s, "ab") || contains(s, "cd") || contains(s, "xy") || contains(s, "pq");
if (vowelCount >= 3 && duplicate && !disallowed)
ans++;
}
cout << ans;
return 0;
}
Đề bài đây ạ: . Day 5 - Advent of Code 2015. Thuật toán em ra 236 vẫn không pass được.