知识点:模拟
这个题主体写了38分钟,然后格式和改错,总共花了52分钟过了,对于新手感觉可以了,也是紫书写的第一道蓝题,因为知道这个就是模拟,所以其实难度降低了,因为毕竟不需要看原文。。。
主要的思路就是,输入的时候的处理,首先我们要把每个文章每一行都原封不动的储存起来,这需要一个数组,然后我们需要一个集合数组,每个文章里面的单词放到一个集合里面,然后我们还需要一个数组,用来存放每篇文章整理过后的每一行,整理的方法是,把所有的单词化成小写,然后后面加一个空格,拼成一个字符串,字符串的前面再加一个空格,这样我们想要查某个单词的时候就查前后加了空格的单词,因为不加空格,直接拿着原文那种去查,会因为单词包含单词的问题出错,然后其余的就比较简单了,然后如果查询没有查到东西要特殊输出
最后是一个特别坑的地方,那就是样例的输出是错的,分割线是10个但是样例是9个,这个你要去看原文的输入输出才知道。
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
getchar();
vector<string> a[105], b[105];
set<string> st[105];
string s;
for (int i = 0; i < t; i++) {
while (getline(cin, s) && s !=