문제
링크
풀이
#include <iostream>
#include <set>
#include <string>
using namespace std;
bool digit(char c) {
return c >= '0' && c <= '9';
}
int c2i(char c) {
return c - '0';
}
void solve(void) {
string s; cin >> s;
set<int> ans;
int num = digit(s[0]) ? c2i(s[0]) : 0;
for (int i=1; i<s.length(); i++) {
if (digit(s[i])) {
num = 10 * num + c2i(s[i]);
} else {
ans.insert(num);
num = 0;
}
}
ans.insert(num);
if (ans.find(0) != ans.end()) ans.erase(0);
cout << ans.size();
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
return 0;
}