Uva1597 -Searching the Web
输入n篇文章和m个询问,格式如下:
1、A:搜索包含关键字A的文章,按顺序输出所有包含关键字的行 2、A AND B:搜索包含关键字A和B的文章,按顺序输出所有包含关键字的行
3、A OR B:搜索包含关键字A或B的文章,按顺序输出所有包含关键字的行 4、NOT A:搜索不包含关键字A的文章,按顺序输出所有不包含关键字的文章
分析:简单的模拟题,直接对于每一篇文章map查找即可,不过这题有个细节就是查询的关键字都是小写字母,所以在输入的时候要处理一下,全部转换成小写,使用结构体保存每一篇文章的信息,之后对于每一篇文章查询即可。
不过在做这题时,当询问为AND或者OR的形式时,刚开始是写成遍历每一行查找子串了,其实应该是查询有没有包含那个单词,可能会出现这个查询的关键字在这一行中不是单词,而是某一个单词的子串的情况……无尽的WA后好不容易找到了这个傻逼的错误,又wa了十次左右,最后错误居然是因为输出的分隔符错了,应该是十个字符,可是题目给的样例输出中写成9个了,然后我就直接复制的,真是坑爹无下限啊….
使用各种stl容器写的,跑了820ms,想必如果对每个单词维护其处在哪篇文章的哪一行的信息的话,肯定会快了不少,而不需要对每一篇文章去查找了。
这种模拟题居然错了25次才A,整整卡了一天的时间,像这种没法跑数据对拍的题,错了也是很无奈,