A. Anton and Letters
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Recently, Anton has found a set. The set consists of small English letters. Anton carefully wrote out all the letters from the set in one line, separated by a comma. He also added an opening curved bracket at the beginning of the line and a closing curved bracket at the end of the line.
Unfortunately, from time to time Anton would forget writing some letter and write it again. He asks you to count the total number of distinct letters in his set.
Input
The first and the single line contains the set of letters. The length of the line doesn't exceed 1000. It is guaranteed that the line starts from an opening curved bracket and ends with a closing curved bracket. Between them, small English letters are listed, separated by a comma. Each comma is followed by a space.
Output
Print a single number — the number of distinct letters in Anton's set.
Examples
input
Copy
{a, b, c}
output
Copy
3
input
Copy
{b, a, b, a}
output
Copy
2
input
Copy
{}
output
Copy
0
题意分析,我们可以看到这里是应该字符串还有空格,所以我们不能用cin>>n输入,如果要用那么就getline(cin,n)来,但是我们这里可以用set函数解,具体实现看代码。
#include<bits/stdc++.h> using namespace std; set<char>ans;//char类型的集合 char n; int main() { while(cin>>n&&n!='}')//不断输入 { if(n>='a'&&n<='z')//是小写字母 ans.insert(n);//塞入集合 } cout<<ans.size()<<endl;//输出集合的大小 }
正常的做法
#include<bits/stdc++.h> using namespace std; int main() { char b; cin>>b;int ans[27]={0},sum=0; while(b!='}') { cin>>b; if(b>='a'&&b<='z') { ans[b-'a']++; } } for(int i=0;i<=26;i++) { if(ans[i])sum++; } cout<<sum; }