yywlsrt 2023-11-04 11:50 采纳率: 25%
浏览 5
已结题

636.集合的差(c++)

636.集合的差
题目描述
有两个数列A和B,那些在A中出现但不在B中出现的数就称为集合A和集合B的差:A-B。例如:A={1 ,4, 5, 2, 6} ,B={ 5,3,2,7} , 那么A-B = {1,4,6}。

现在给你2个集合A和B,求A-B有多少个数。

输入格式
输入文件名:636.in

第一行2个整数na和nb,表示集合A和集合B各有多少个整数,1<=na,nb<=10000。

第二行na个不同的正整数,表示集合A里的数,每个正整数不超过10000。

第二行nb个不同的正整数,表示集合B里的数,每个正整数不超过10000。

输出格式
输出文件名:636.out

一个整数,A-B里有多少数。

输入/输出例子1
输入:

5 4

5 2 4 8 7

3 7 6 2

输出:

3

样例解释

A-B={5,4,8 }

  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-04 12:05
    关注

    C++本身支持集合运算的

    
    #include <algorithm>
    #include <iostream>
    #include <set>
    using namespace std;
    int main()
    {
      set<int> A, B, C;
      int a, na, nb, i;
      cin >> na >> nb;
      for (i = 0; i < na; i++)
        {
          cin >> a;
          A.insert(a);
        }
      for (i = 0; i < nb; i++)
        {
          cin >> a;
          B.insert(a);
        }
      set_difference(A.begin(), A.end(), B.begin(), B.end(), inserter(C, C.begin()));
      cout << C.size() << endl;
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月7日
  • 已采纳回答 1月30日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22
  • ¥15 R语言中lasso回归报错