您的位置:首页 > 其它

sicily message flood

2013-12-29 15:34 183 查看
题目要求为比较输入与输出,找出输出中不存在的元素个数 。题目中需要注意的是不区别大小写,所以应该将输入的字符先转换成统一大写或统一小写再判断,在这里我选择的是使用tolower函数将字符串转换成小写,然后使用set容器盛放输入元素,若输出元素中存在set内的元素,则将其erase掉。最后统计个数即可。

#include<iostream>
#include<string>
#include<set>
using namespace std;
void low_to_little(string &s) {
int len;
len = s.size();
for (int i = 0 ; i < len ; i++) {
s[i] = tolower(s[i]);
}
}
int main() {
int m, n, k;
string s, c;
while (cin>>n && n != 0) {
int num = 0;
set<string>mobile;
cin>>m;
for (int i = 0 ; i < n ; i++) {
cin>>s;
low_to_little(s);
mobile.insert(s);
}
for (int j = 0 ; j < m ; j++) {
cin>>c;
low_to_little(c);
mobile.erase(c);
}
cout<<mobile.size()<<endl;
mobile.clear();
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: