题目描述
CCF CSP202403(一) 词频统计
使用set和vector
·其中set(元素不可重复),记录word哪些出现过
·vector则记录所有的word
然后使用两个vector的has表(初试值为0)
记录x和y
C++ 代码
#include<iostream>
#include<set>
#include<vector>
using namespace std;
// 题链接:https://www.acwing.com/file_system/file/content/whole/index/content/12011738/
int main() {
int n, m;
cin >> n >> m; // 文章篇数和单词编号上限
vector<int>papaer_has(100, 0);
vector<int>word_has(100, 0);
while (n--) {
int size;
cin >> size;
// set(元素不可重复)存储出现过的word,vector存储所有的word
pair<set<int>, vector<int>> paper(set<int>(), vector<int>(100));
while (size--) {
int word;
cin >> word;
paper.first.insert(word);
paper.second.push_back(word);
}
// 记录word出现在paper的篇数
for (auto item : paper.first) {
papaer_has[item]++;
}
// 记录word出现的次数
for (auto item : paper.second) {
word_has[item]++;
}
}
for (int i = 1; i <= m; i++) {
cout << papaer_has[i]<< " "<< word_has[i]<<endl;
}
}