人见人爱A-B
Problem Description
参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{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

AC code:

#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
#define N 110

int inset(int b[],int m,int t)
{
     int i,flag=0;
     for(i=0; i<m; i++)
     {
         if(b[i]==t)
         {
             flag=1;
             break;
             }
        }
        return flag;
}

int cmp(const void *a,const void *b)
{
     return (*(int*)a-*(int*)b);
}

int main()
{
  int n,m;
  while((scanf("%d%d",&n,&m)!=EOF)&&n*n+m*m!=0)
  {
     int a[N],b[N],min,i,j=0,count=0;
     int s[N];
     for(i=0; i<n; i++)
     {
         scanf("%d",&a[i]);
         }
         for(i=0; i<m; i++)
         {
             scanf("%d",&b[i]);
             }
             min=a[0];
             for(i=1; i<n; i++)
             {
                 if(a[i]<min)
                 {
                     min=a[i];
                     }
                }
                min--;
             for(i=0; i<n; i++)
             {
                 if(inset(b,m,a[i]))
                 {
                     a[i]=min;
                     count++;
                     }
                }
                if(count==n)
                {
                     printf("NULL");
                }
                else
                {
                     for(i=0; i<n; i++)
                     {
                         if(a[i]!=min)
                         {
                             s[j++]=a[i];
                             }
                        }
                        qsort(s,j,sizeof(s[0]),cmp);
                        for(i=0; i<j; i++)
                        {
                             printf("%d ",s[i]);
                        }
                     
                }
                printf("\n");
     }
     return 0;

}

转载于:https://www.cnblogs.com/cpoint/archive/2011/04/13/2015425.html

(HDOJ 2034)人见人爱A-B相关推荐

  1. HDU 2034 人见人爱A-B

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

  2. HDU 2034 人见人爱A-B【STL/set】

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

  3. HDOJ 2035 人见人爱A^B

    1 // HDOJ 2035 2 // @author: bos 3 // @date: 2012.2.6 4 //求A^B的最后三位数 5 #include <stdio.h> 6 in ...

  4. 2034——人见人爱A-B

    http://acm.hdu.edu.cn/showproblem.php?pid=2034 这道题注意的是集合最后输出是按从小到大的顺序的.... 还有就是赋初值,在一次比较后要将值归零!!还有就是 ...

  5. HDU - 2034 人见人爱A-B 【set】

    Description 参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算.(当然,大 ...

  6. HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)

    今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的 题号 题名 题号 题名 2000 ASCII码排序 2 ...

  7. 快速幂算法 超详细教程

    快速幂 求幂运算 快速幂引入 快速幂 二进制 快速幂 指数折半 快速幂的应用 求幂运算 求幂运算大家都不陌生,幂是指数运算的结果,当m是正整数时nᵐ的意义为m个n相乘,n的m次幂也就是n的m次方.用代 ...

  8. HDU2033 人见人爱A+B【进制】

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

  9. 杭电acm2034 人见人爱A-B

    人见人爱A-B http://acm.hdu.edu.cn/showproblem.php?pid=2034 Time Limit: 2000/1000 MS (Java/Others)    Mem ...

最新文章

  1. jqGrid参数详解
  2. 信息系统项目管理师:论项目的质量管理
  3. [ROBOT] python library 如何能获取到ROBOT框架里面的全局变量,例如${OUTPUT DIR}等
  4. windows 11 预览版来了
  5. 前端学习(1293):系统模块path路径操作
  6. 要求在ASP.NET Core 2.2中确认电子邮件——第2部分
  7. bzoj4006 [JLOI2015]管道连接
  8. Centos7:利用crontab定时执行任务
  9. vim配置运行python3快捷键_Linux VIM8 Python3 编辑器配置文件
  10. 使用Apache架设代理服务器
  11. 台式计算机硬盘主要有哪两种接口,硬盘接口有几种?怎么看电脑硬盘接口类型...
  12. 【App数据运营分析】
  13. 电感感应电压公式v(t)=L*di/dt的推导
  14. 联想thinkpad E450如何进入bios
  15. 机器学习之决策树算法ID3--参考麦子学院彭亮机器学习基础3.2决策树应用
  16. 河南理工大学 计算机 研究生就业,河南理工大学好就业吗?附河南理工大学就业率最高的专业名单...
  17. http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
  18. 五分之一金融机构将从2018年开始探索加密货币交易
  19. 新闻管理的删除功能+新闻首页+详情页
  20. 游戏开发中的物理介绍

热门文章

  1. cnocr:用来做中文OCR的Python3包,装上就能用!
  2. 随机森林的原理及Python代码实现
  3. java string is empty_Java中String类的isEmpty方法、null以及的区别
  4. swift取代python_为什么Swift和Python要抛弃++\--?
  5. linux运行大端程序,ARM 平台上的Linux系统启动流程
  6. Java设计模式透析之 —— 适配器(Adapter)
  7. USB及手机平板设备插拔响应解决方案
  8. java反射接口_Java反射详解
  9. vue 2.0 使用 Font Awesome
  10. mysql 开发基础系列19 触发器