UVALive 6959 签到(水题)

题意:问两组字符串,最多有多少组相同。


解题:可以直接用map映射一下,很方便但是速度不快。队友是用c串读入,排个序,然后扫一遍,速度快很多。


代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <map>
#include <string>
using namespace std;
int main()
{
    int n,ans=0;
	string s;
	while(cin>>n)
	{
		ans=0;
		map <string,int> cnt;
		for(int i=0;i<n;i++)
		{
			cin>>s;
			cnt[s]++;
		}
		for(int i=0;i<n;i++)
		{
			cin>>s;
			if(cnt[s])
			{
				cnt[s]--;
				ans++;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}


你可能感兴趣的:(入门,map,uva)