https://codeforces.com/problemset/problem/1000/A
题意:
有n个人,给出每个人的衣服的尺码,现在,将这n件衣服的尺码换成另外的n种尺码,如果有尺码一样的衣服,则不需要换,问,最少需要更换几件衣服。
思路:
map记录一下每种尺码的衣服出现的次数,然后对新尺码进行一一比对,如果新尺码的数量大于原有的,则说明要更换数量为二者差值的衣服。
代码:
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <math.h>
const int INF=0x3f3f3f3f;
typedef long long LL;
const int mod=1e9+;
const int maxn=1e5+;
using namespace std; int main()
{
int n;
cin>>n;
map<string,int> mp1,mp2;
map<string,int>::iterator it;
string str;
int num=;
for(int i=;i<=n;i++)
{
cin>>str;
mp1[str]++;
}
for(int i=;i<=n;i++)
{
cin>>str;
mp2[str]++;
}
for(it=mp2.begin();it!=mp2.end();it++)
{
if(it->second>mp1[it->first])
num+=it->second-mp1[it->first];
}
printf("%d\n",num);
return ;
}