UVALLive 6959サイン(水題)


标题:2組の文字列を聞いて、最大何組が同じですか.
問題を解く: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;
}