题目大意 判断两个集合出现过的数是不是完全一样(不考虑出现的次数)
只需将两串排序去重后判断即可 可以用set来操作 但我当时想编得再优越一些 结果编的稍挫了一点(>﹏<) 其实时间是差不多的。。。
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>
#include<set>
#include<stack>
#define bug puts("bugbugbug");
using namespace std;
typedef long long ll;
map<int ,int>mp;
int main()
{
int n;
while(~scanf("%d",&n))
{
mp.clear();
int cnt=0;
for(int i=0;i<n;i++)
{
int a;
scanf("%d",&a);
if(mp[a]==0)
{
mp[a]=1;
cnt++;
}
}
int flag=0;
for(int i=0;i<n;i++)
{
int a;
scanf("%d",&a);
if(mp[a]==0)
flag=1;
else if(mp[a]==1)
{
mp[a]=2;
cnt--;
}
}
if(flag||cnt!=0)
puts("NO");
else puts("YES");
}
}