题目:集合相似度
题意:Nc:“两个集合都有的不相等整数的个数” 意思是求俩个集合的交集个数 Nt:“两个集合一共有的不相等整数的个数” 意思是求俩个集合的并集个数 ,记得去重!
思路:开一个set集合数组,分别将每个集合加入相应的集合中,然后再将要求的集合中查找相同元素即为Nc ,而Nt为集合的长度,当前set集合加入重复元素的话不增长总元素个数,而只是在重复元素加了个count的值为1,这样就充分的利用了set集合求交集与并集,无需手动的去重了!
参考:寒leng的锋博客
代码:
#include <iostream>
#include <cstdio>
#include <set>
#include<map>
using namespace std;
const int maxn = 55;
set<int>st[maxn];
int main()
{
int n,m,k,x,y,tigital;
while(~scanf(