小明爱集合 51Nod - 3058---set的使用
题目:
Sample 1
Inputcopy | Outputcopy |
---|---|
2 2 3 1 2 2 3 4 3 3 5 3 4 3 4 1 | 25 50 |
思路:
把n+m看成一个整体,而set不包括重复的内容,因此n+m - set 就是不同的元素(即是多出的元素就是重复了的元素个数)
代码:用cin cout过不了 scanf 更快一点
#include<iostream>
#include<set>
#include<cstdio>
using namespace std;
int main()
{
set<int> a;
int t;
int n,m;
int x;
scanf("%d",&t);
while(t--)
{
a.clear();
cin>>n>>m;
for(int i=1;i<=n+m;i++)
{
//遍历这n+m个元素进入a
scanf("%d",&x);
a.insert(x);
}
int len=a.size();
printf("%d\n",(n+m-len)*100/len);
}
return 0;
}