本题的思路比较清晰,主要的工作就是相同字符的去重工作。这里可以通过unordered_set容器来实现。

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

int main() {
    string s;
    getline(cin, s, '\n');
    unordered_set<char> u_set;
    for (int i = 0; i < s.size(); i++) {
        if (u_set.find(s[i]) == u_set.end()) {
            // 表示该字符不在集合内
            u_set.insert(s[i]);
        }
    }
    cout << u_set.size();    
    return 0;
}