@[lintylong](/user/1040198)
1. 小可爱,你忘记读入 $n$ 和 $m$ 啦:
```cpp
set<string> st;
int n,m,sum=0;
//
cin >> n >> m;
//
getline(cin,p);
```
2. 其实不用特判换行符的,后面判断换行的部分可以删掉:
```cpp
for(int i=1;i<=m;i++)
{
getline(cin,p);
//下面注释这部分删掉
/*
if(m==i&&p[p.size()-1]!='r')
{
p+=char(13);
}
*/
if(st.find(p)!=st.end())
{
sum++;
}
}
```
这样就可以了。帮你重新写一下:
```cpp
#include<bits/stdc++.h>
using namespace std;
int n, m, sum;
string p;
set<string> st;
int main() {
cin >> n >> m;
getline(cin, p);
for(int i = 1; i <= n; i++) {
getline(cin, p);
st.insert(p);
}
for(int i = 1; i <= m; i++) {
getline(cin,p);
if(st.find(p)!=st.end()) sum++;
}
cout << sum;
return 0;
}
```
by ShiRoZeTsu @ 2023-12-07 09:26:37
谢谢!
by lintylong @ 2023-12-07 12:32:46
@[ShiRoZeTsu](/user/678858) 已关注!
by lintylong @ 2023-12-07 12:34:06
此贴结.
by lintylong @ 2023-12-07 12:34:25