给出一个英文单词的列表,计算有多少不同的单词在列表中。
本题有多组输入数据,你必须处理到EOF为止
每组数据的第一行有一个整数n, 1<=n<=1000.下面的n行每行一个单词,每个单词的长度不超过20。单词大小写忽略。
每组数据输出一个整数,表示不同的单词数。
5 FZU FzU LOY BNh FZU
3
题解:STL真的非常方便,这道题只用把小写字母转换成大写字母,然后用set容器把这些字符串插入,最后输出set容器的长度即可,因为set容器中的insert 不重复的元素。具体代码如下:
#include<iostream>
#include<string>
#include<set>
using namespace std;
int main()
{
int n;
string s;
while(cin>>n)
{
set<string>str;
for(int i=0; i<n; i++)
{
cin>>s;
for(int i=0; i<s.size(); i++)
if(s[i]>='a' && s[i]<='z')
s[i]=s[i]-32;
str.insert(s);
}
cout<<str.size()<<endl;
}
return 0;
}