以下这题c++代码怎么做:题目描述: 小新有一个单词本,上面记录着许多单词,当小新第一次遇到某个新单词时,小新会把他写在单词本上,如果小新再次遇到这个单词,并且他忘记了这个单词的含义,他也会将其写在单词本上,所以小新的单词本上有一些单词是重复的。现在小新想知道他一共写下了多少个新单词,你能帮帮他吗? 输入格式: 一行若干个由空格分开的字符串,保证字符串长度的总和不超过10000,新单词个数不超过1000,每个单词长度不超过20。 输出格式: 一个整数,表示小新写下的新单词的数量。 输出格式: 输出插入行和列之后的数组得到的新数组,结尾没有空格。 输入样例: string algorithm string map algorithm set stack queue 输出样例: 6
时间: 2023-06-14 11:06:53 浏览: 149
以下是 C++ 的代码实现:
```cpp
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main() {
string s;
unordered_set<string> words;
int count = 0;
while (cin >> s) {
if (words.count(s) == 0) {
words.insert(s);
count++;
}
}
cout << count << endl;
return 0;
}
```
思路:使用哈希集合 unordered_set 记录已经出现过的单词,如果新的单词没有出现过,则插入到哈希集合中并增加计数器 count。最后输出计数器 count 即可。
阅读全文