zoukankan      html  css  js  c++  java
  • STL-vector-set_difference B

    B - 人见人爱A-B

    参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算。(当然,大家都知道集合的定义,就是同一个集合中不会有两个相同的元素,这里还是提醒大家一下)

    呵呵,很简单吧?

    Input每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)和m(0<=m<=100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B. 每个元素为不超出int范围的整数,元素之间有一个空格隔开.
    如果n=0并且m=0表示输入的结束,不做处理。Output针对每组数据输出一行数据,表示A-B的结果,如果结果为空集合,则输出“NULL”,否则从小到大输出结果,为了简化问题,每个元素后面跟一个空格.
    Sample Input

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

    Sample Output

    2 3 
    NULL
    
    
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<vector>
     4 using namespace std;
     5 
     6 int n, m;
     7 int a[110], b[110];
     8 
     9 int main(){
    10     while(~scanf("%d %d",&n, &m) &&(n||m)){//n和m不一定同时为零 ,写成 n && m就错 
    11         for(int i=0; i<n; i++)
    12             scanf("%d",a+i);
    13         for(int i=0; i<m; i++)
    14             scanf("%d",b+i);
    15         
    16         sort(a, a+n);
    17         sort(b, b+m);
    18         
    19         vector<int>v(110);
    20         vector<int>::iterator it;
    21         it = set_difference(a, a+n, b, b+m, v.begin());//set_difference()算法计算两个集合[start1, end1)和[start2, end2)的差集, 并将差集存放到result.
    22         v.resize(it-v.begin());//resize()    改变实际元素的个数。
    23         
    24         if(v.size()==0)
    25             printf("NULL
    ");
    26         else{
    27             for(it=v.begin(); it!=v.end(); ++it)
    28                 printf("%d ",*(it));
    29             printf("
    ");
    30         }
    31     }
    32     return 0;
    33 }
    (1)输入n和m处,注意n和m是不一定同时为零的,有可能单个为零

    (2)set end1)和[start2, end2)的差集, 并将差集存放到result.
    (3)resize() 改变实际元素的个数。
  • 相关阅读:
    self 和 super 关键字
    NSString类
    函数和对象方法的区别
    求两个数是否互质及最大公约数
    TJU Problem 1644 Reverse Text
    TJU Problem 2520 Quicksum
    TJU Problem 2101 Bullseye
    TJU Problem 2548 Celebrity jeopardy
    poj 2586 Y2K Accounting Bug
    poj 2109 Power of Cryptography
  • 原文地址:https://www.cnblogs.com/0424lrn/p/12219812.html
Copyright © 2011-2022 走看看