• HDU1412:{A} + {B}


    Problem Description
    给你两个集合,要求{A} + {B}.
    注:同一个集合中不会有两个相同的元素.
     
    Input
    每组输入数据分为三行,第一行有两个数字n,m(0<n,m<=10000),分别表示集合A和集合B的元素个数.后两行分别表示集合A和集合B.每个元素为不超出int范围的整数,每个元素之间有一个空格隔开.
     
    Output
    针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.
     
    Sample Input
    1 2 1 2 3 1 2 1 1 2
     
    Sample Output
    1 2 3 1 2
     


     

    本来是用哈希的

    但是因为要处理负数觉得麻烦

    还是用排序好了

    #include <stdio.h>
    #include <algorithm>
    using namespace std;
    
    int a[100005];
    
    int main()
    {
        int n,m;
        while(~scanf("%d%d",&n,&m))
        {
            int k,max = n+m,j = 0,i;
            while(max--)
            {
                scanf("%d",&k);
                a[j++] = k;
            }
            sort(a,a+j);
            int flag = a[0];
            printf("%d",flag);
            for(i = 0;i<j;i++)
            {
                if(a[i]!=flag)
                {
                    flag = a[i];
                    printf(" %d",flag);
                }
    
            }
            printf("\n");
        }
    
        return 0;
    }
    


     

  • 相关阅读:
    leetcode
    vue初尝试--组件
    vue初尝试--项目结构
    vue初尝试--新建项目
    SQL取xml中节点值
    UI设计
    Asp.NET中Gridview CSS---Office2003风格
    Jquery+JSON+WebService使用总结
    ASP.NET 如何固定表格表头(fixed header)
    项目总结
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2995035.html
Copyright © 2020-2023  润新知