https://vjudge.net/problem/Gym-101482J
题目大意:给出两个判题系统的判题结果,问最多能还原多少情况。
思路:搞两个 m a p map map分别存一下,然后遍历第一个 m a p map map暴力统计就完事了。
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define eps 1e-10
#define pr pair<int,int>
using namespace std;
typedef long long ll;
int n;
map<string,int> m1,m2;
int main()
{
scanf("%d",&n);
string s;
int ans=0;
for(int i=0;i<n;i++)
{
cin>>s;
m1[s]++;
}
for(int i=0;i<n;i++)
{
cin>>s;
m2[s]++;
}
map<string,int> :: iterator it1=m1.begin(),it2=m1.end();
while(it1!=it2)
{
ans+=min(m1[it1->first],m2[it1->first]);
++it1;
}
printf("%d\n",ans);
return 0;
}