知识点:尺取法
难度:4
这个题算是不错的尺取法练习题,稍微比逛画展那个题难一点,就是有一个地方要想清楚,那么就是我们背文章的时候,我们要统计我们背了多少不同单词,这里需要注意的是文章里面有的但是不是我们要背的单词,也就是第二次输入有第一次输入没有给的单词,是不对我们背了多少不同单词做出贡献的,它只是影响了区间的长短,所以这里需要对它进行处理,我是用0来表示这些单词的,觉得还是比较方便的,然后就是第七个点re,这个是真的没想到的,看了看洛谷的讨论区是特判,然后这个题就过了
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int a[N], b[N / 50];
int main() {
int m, n;
cin >> m;
map<string, int> mp;
for (int i = 1; i <= m; i++) {
string s;
cin >> s;
mp[s] = i;
}
cin >> n;
int rec = 0;
for (int i = 1; i <= n; i++) {
string s;
cin >> s;
if (mp.find(s) == mp.end()) continue;
a[i] = mp[s];
if (++b[a[i]] == 1) rec++;
}
if (!rec) { cout << 0 << endl <<