SRM489 Div2 Easy(250) BadVocabulary

BadVocabulary

#include <string>
#include <vector>
using namespace std;

class BadVocabulary{public:
int count( string badPrefix, string badSuffix, string badSubstring, vector <string> vocabulary )
{
    int ans = 0;

    for ( vector<string>::iterator v=vocabulary.begin();
          v!=vocabulary.end(); v++ )
    {
        string prefix = v->length()>=badPrefix.length() ? v->substr(0,badPrefix.length()) : "";
        string suffix = v->length()>=badSuffix.length() ? v->substr(v->length()-badSuffix.length()) : "";
        string substr = v->length()>=2 ? v->substr(1,v->length()-2) : "";

        if ( prefix == badPrefix  ||
             suffix == badSuffix  ||
             substr.find(badSubstring) != substr.npos )
            ans++;
    }

    return ans;
}};