高手之在一起
题目背景
高手是可以复活的,这点我们大家都知道。
题目描述
高手列出了一个详尽的日程表,这次他要追求的则是一个心灵纯洁的小萝莉。他和她都是要上课的,但是也会有时间空闲,于是高手决定无时无刻都要跟着她。为了她,高手决定转学到一年级。
现在高手已经花重金买下了她的日程表,每一天都会有她的行踪。现在列出了高手方便去的地方。其中方便去的地方可以去无限次,不方便去的地方不能去。
一共有 n n n 个方便去的地点, m m m 天。高手想知道他在这 m m m 天中,最多能和她在一起多久。不方便去的地方是不会列出的。
输入格式
第一行两个整数 n , m n,m n,m。
接下来 n n n 行,每行一个地名,高手方便去的地方。
接下来 m m m 行,每行一个地名,她这一天在的地方。
地名中可能有空格。
输出格式
一个整数,他们在同一个地方的天数。
样例 #1
样例输入 #1
1 2
WC
CLASS
WC
样例输出 #1
1
提示
1 ≤ m ≤ 1000000 1 \leq m \leq 1000000 1≤m≤1000000, 1 ≤ n ≤ 20 1 \leq n \leq 20 1≤n≤20。
我的代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
string s;
int ans=0;
map<string,bool> wyj;
int main(){
scanf("%d%d",&n,&m);
for(int i =1;i<=n;i++){
cin>>s;
string a;
while(getchar() == ' '){
cin>>a;
s+=a;
}
wyj[s]=true;
}
for(int i=1; i<=m;i++){
cin>>s;
string a;
while(getchar()==' '){
cin>>a;
s+=a;
}
if(wyj[s]) ans++;
}
printf("%d\n",ans);
return 0;
}