https://acm.hdu.edu.cn/showproblem.php?pid=2034

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

Inputcopy Outputcopy
3 3 1 2 3 1 4 7
3 7 2 5 8 2 3 4 5 6 7 8
0 0 
2 3
NULL 

要点:

集合相减问题,就是将存在于a数组,但是不存在于b数组的元素输出。

注意从小到大输出,需要排序。

#include <stdio.h>
int main(void)
{int n,m;int a[105],b[105];int i,j,k,t;while(scanf("%d%d",&n,&m) != EOF){if(n == 0&&m == 0)break;for(i = 0;i < n;i++){scanf("%d",&a[i]);}for(i = 0;i < m;i++){scanf("%d",&b[i]);}//对a数组排序for(i = 1;i < n;i++){for(j = 0;j < n-i;j++){if(a[j] > a[j + 1]){t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}//对b数组排序for(i = 1;i < m;i++){for(j = 0;j < m -i;j++){if(b[j] > b[j + 1]){t = b[j];b[j] = b[j + 1];b[j + 1] = t;}}}for(i = 0,j = 0;i < n&&j < m;){if(a[i] > b[j])j++;//保持将取值较小的输出往后走else if(a[i] < b[j])i++;else{//当发现a数组与b数组的重复元素,将该元素弹出,并将n的值减小一for(k = i;k < n - 1;k++)a[k] = a[k + 1];n--;}}if(n == 0)//如果a数组中元素b中均存在printf("NULL\n");else{for(i = 0;i < n;i++){printf("%d ",a[i]);}puts("");//多组输入,注意换行}}return 0;
}

35、人见人爱A-B相关推荐

  1. 【HDU100】杭电入门一百道 C++ 全 题 解

    " Ctrl AC!一起 AC!" 题目集合链接:HDU2000-2099http://acm.hdu.edu.cn/listproblem.php?vol=11 前言 1. 好像 ...

  2. HDU 2034 人见人爱A-B

    人见人爱A-B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  3. HDU 2035.人见人爱A^B-快速幂

    人见人爱A^B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. 是非人生 — 一个菜鸟程序员的5年职场路 第35节

    是非人生 - 一个菜鸟程序员的5年职场路第35节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  5. php网课资源百度云盘_安全中国PHP网站开发工程师就业指导班 35课 附课件、源码,全套视频教程学习资料通过百度云网盘下载...

    链接失效请联系微信 ZA_summer,有需要某课网某某课堂精品付费课的朋友也可以联系我.ps:凡在本店**过教程的同学即可加入技术交流群,群内不定期推送最新it教程. 第1课初识php及其php的开 ...

  6. Linux命令find的35个实例

    注:本文内容参考<35 Practical Examples of Linux Find Command> 网址:http://www.tecmint.com/35-practical-e ...

  7. 3分钟内快速部署MySQL5.6.35数据库实践

    3分钟内快速部署MySQL5.6.35数据库实践 1.下载软件 wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-g ...

  8. grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)

    2019独角兽企业重金招聘Python工程师标准>>> 1. 简单介绍 在用于查找子字符串的算法当中,BM(Boyer-Moore)算法是目前被认为最高效的字符串搜索算法,它由Bob ...

  9. 35岁以前成功的12条黄金法则(1)

    第一章:一个目标 一艘没有航行目标的船,任何方向的风都是逆风. 1.你为什么是穷人,第一点就是你没有立下成为富人的目标. 2.你的人生核心目标是什么?杰出人士与平庸之辈的根本差别并不是天赋.机遇,而在 ...

最新文章

  1. 看完这些细分领域别说小程序代理创业没有机会
  2. UA OPTI570 量子力学17 创生算符与湮灭算符
  3. LibSVM 在matlab中的使用
  4. call和apply和bind的区别
  5. Fast R-CNN 个人理解
  6. JS factory
  7. xodo上的笔记不见了_一起来“终极笔记名场面批发市场”进货吗
  8. Scala的设计目标——Martin Odersky访谈(二)
  9. 试分别简述udp和tcp的特点_技术帖:污水处理中曝气设备的分类及特点小结
  10. logback实现日志按天和大小切分
  11. 【Datapump】expdp和impdp中parallel参数解释
  12. 社交产品方法论(八):数据分析的二三事
  13. 微软承认iPad牛逼,正计划为其定做Office?
  14. HTML制作简易个人简历(表单)
  15. 计算机操作系统的功能有哪些,操作系统的基本功能是什么
  16. PDF格式转JPG格式怎么转?掌握方法其实很简单
  17. 如何找到刑事案件的辩点(律师角度)
  18. 360与腾讯之争——顾客有可能成为上帝
  19. 《青玉案·元夕》 辛弃疾
  20. java编写平行四边形的代码_Java代码编写四边形

热门文章

  1. 笔记本window10系统黑屏风扇不转简单分析解决办法
  2. 浅谈surface go与ipad 2018
  3. 使徒行者2开机了,你还有期待吗?
  4. 程序员可以在周末做的8件事
  5. Git 代码托管服务
  6. 拾光碎片-----Devexpress之gridview使用中遇到的错误
  7. UE4 WebUI插件
  8. RPA:如何给财务人员带来新机遇?
  9. Android的mac和BSSID,Android 获取本机的mac和wifi的BSSID(mac)以及其他信息
  10. 100道Java笔试题