本来准备发最近的第34次ccf认证的,但好像最近貌似要查重就暂时等一下吧,先发点之前的。
(还有在抱怨一句,我为什么这次(34次)没考到300+。~_~)
那就来看看第33次ccf-csp的:
第一题:
在学习了文本处理后,小 P 对英语书中的 𝑛n 篇文章进行了初步整理。 具体来说,小 P 将所有的英文单词都转化为了整数编号。假设这 𝑛n 篇文章中共出现了 𝑚m 个不同的单词,则把它们从 11 到 𝑚m 进行编号。 这样,每篇文章就简化为了一个整数序列,其中每个数都在 11 到 𝑚m 范围内。
现给出小 P 处理后的 𝑛n 篇文章,对于每个单词 𝑖i(1≤𝑖≤𝑚1≤i≤m),试统计:
- 单词 𝑖i 出现在了多少篇文章中?
- 单词 𝑖i 在全部文章中总共出现了几次?
题目其余就不再叙述了,大概意思就是让你统计每个数字出现在几个里面,和每个数字出现的总次数。我们考虑到为了更好的理解,不造成混淆,首先定义一个结构体用于记录每个数字的编号和出现的次数。(不要问为什么用typedef,这里是一点个人习惯)
typedef struct no{
int id;
int x;
int y;
}node;
读入n和m后,采取读一个数据处理一个数据,这样可以减少对内存的占用,若为每个元素对应的id号,则对应的y加一,x改为1;
总代码如下: