那位高手是谁啊?@jxpxcsh QWQ。
这道题数据特别水,所以直接使用O(n*m),每读进一个m内的字符串,就扫一遍n的字符串。但注意地点字符串中有可能会有空格,所以这时候就要请出getline出场了。
#include<bits/stdc++.h> using namespace std; string gs[21],ll; int n,m,ans=0; int main(){ cin>>n>>m; getline(cin,ll); for(int i=1;i<=n;i++) getline(cin,gs[i]); for(int i=1;i<=m;i++){ getline(cin,ll); if(ll[ll.size()-1]!=13)ll=ll+(char)13; for(int j=1;j<=n;j++) if(ll==gs[j]){ ans++; break; } } cout<<ans; return 0; }