#include #include #include #include using namespace std;

/* 思路:哈希表,将strIn[i]作为key的哈希值,映射值为vec[strIn[i]] / / int CaculateStrCount1(string strIn) { if(strIn.length() == 0) { return 0; } int strInLen = strIn.length(); vector vec = {0}; int sumCount = 0; for(int i = 0; i < strInLen; i++) { if(vec[strIn[i]] == 0) { vec[strIn[i]] = 1; sumCount++; } } return sumCount; } */

/* 思路:将字符串的字符存放到向量里,排序再计算 */ int CaculateStrCount2(string strIn) { if(strIn.length() == 0) { return 0; }

int strInLen = strIn.length();
vector<char> vec(strInLen); //分配内存空间
for(int i = 0; i < strInLen; i++) {
    vec[i] = strIn[i];
}
int sumCount = 1;
sort(vec.begin(), vec.end());
char temp = vec[0];
for(int i = 1; i < strInLen; i++) {
    if(temp != vec[i]) {
        temp = vec[i];
        sumCount++;
    }
}

return sumCount;

}

int main() { string strIn; while(cin>>strIn) { //cout<<CaculateStrCount1(strIn)<<endl; cout<<CaculateStrCount2(strIn)<<endl; } }