集合 【set】

时间:2019-11-10
本文章向大家介绍集合 【set】,主要包括集合 【set】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本人水平有限,题解不到为处,请多多谅解

本蒟蒻谢谢大家观看

题目:

1720: 集合

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 235  Solved: 118
[Submit][Status][Web Board]

Description

给定两个集合A、B,集合内的任一元素x满足1 ≤ x ≤ 10^9,并且每个集合的元素个数不大于10^5。我们希望求出只需确定在B 中但是不在 A 中的元素的个数即可

Input

输入两行,分别表示两个集合,每行的第一个整数为这个集合的元素个数(至少一个),然后紧跟着这个集合的元素(均为不同的正整数)

Output

在B 中但是不在 A 中的元素的个数即可

Sample Input

8 
1 2 3 4 5 6 7 8 6
2 3 4 5 6 7

Sample Output

0

HINT

set来判断是否重复
 
用count来输出第二列数,
 
set.count(第二列的数)有值,代表这个数在第一列出现过若为0,则代表没有出现过
 
 
code:
 
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 set<ll>h;
 5 ll n,m,b,a,ans=0;
 6 int main() 
 7 {
 8     scanf("%lld",&n);
 9     for(ll i=1;i<=n;i++)
10     {
11         scanf("%lld",&b);
12         h.insert(b);
13      } 
14         scanf("%lld",&m);
15         for(ll j=1; j<=m; j++)
16         {
17             scanf("%lld",&a);
18             if(!h.count(a)) 
19             {
20                 ans++;
21             }
22         }
23         printf("%d\n",ans);
24     return 0;
25 }
 
 
 

原文地址:https://www.cnblogs.com/nlyzl/p/11830534.html