做的时候最后一个测试点超时了
Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数
如下才能不超时,用了unordered_map也是超时
for(auto it=s[x].begin();it!=s[x].end();it++)
{
//zi记录重复
if(s[y].find(*it)!=s[y].end()) zi++;
}
即使这样也依旧超时
unordered_map<int,int> mp;
for(auto it=s[x].begin();it!=s[x].end();it++)
{
mp[*it]=1;
//zi记录重复
// if(s[y].find(*it)!=s[y].end()) zi++;
}
for(auto it=s[y].begin();it!=s[y].end();it++){
if(mp[*it]==1) zi++;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
// vector<int> d[55];
set<int> s[55];
for(int i=0;i