zoukankan      html  css  js  c++  java
  • 牛客网 2018年全国多校算法寒假训练营练习比赛(第四场) C.求交集

    C.求交集
     
    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

    给你两个升序排列的集合,求出两个集合的交集。
    

    输入描述:

    有多个测试用例,输入到文件结束。
    对于每一个测试用例:
    第一行输入两个整数n,m(0<n,m<=1000000),分别代表第一个集合和第二个集合的元素的数量。
    第二行输入n个整数,表示第一个集合中的元素,元素之间用空格隔开。
    第三行输入m个整数,表示第二个集合中的元素,元素之间用空格隔开。
    两个集合中的元素范围在[-1000000000,1000000000]区间内。

    输出描述:

    每个测试用例用一行来输出两个集合的交集的所有元素(元素用空格隔开且按升序排列),若交集为空则输出"empty"。
    示例1

    输入

    2 3
    1 3
    1 2 3

    输出

    1 3

    备注:

    交集为空的情况下,输出"empty"。

    这个题因为直接就是升序排列的,直接暴力就可以。

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<cmath>
     6 #include<stack>
     7 #include<map>
     8 #include<vector>
     9 #include<queue>
    10 #include<set>
    11 using namespace std;
    12 typedef long long ll;
    13 const int maxn=1e6+5;
    14 const double eps=1e-6;
    15 const int inf=1<<30;
    16 const int mod=1e8;
    17 ll a[maxn],b[maxn],c[maxn];
    18 int main(){
    19     int n,m,k;
    20     ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    21     while(cin>>n>>m){
    22         int cnt=0,l1=1,l2=1;
    23         for(int i=1;i<=n;i++) cin>>a[i];
    24         for(int i=1;i<=m;i++) cin>>b[i];
    25         while(1){
    26             if(l1==(n+1)||l2==(m+1))break;
    27             if(a[l1]>b[l2]) l2++;
    28             else if(a[l1]==b[l2]){
    29                 c[++cnt]=a[l1];
    30                 l1++;l2++;
    31             }
    32             else l1++;
    33         }
    34         if(cnt==0) cout<<"empty"<<endl;
    35         else
    36         for(int i=1;i<=cnt;i++){
    37             cout<<c[i];
    38             if(i!=cnt) cout<<" ";
    39             else cout<<endl;
    40         }
    41     }
    42 }
  • 相关阅读:
    【转载】Hibernate---在Hibernate中获取数据方式与缓存使用
    【转载】Hibernate ORM 新特性之 Service(Registry)
    【转载】Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
    【转载】Java Cache系列之Cache概述和Simple Cache
    C#进行AutoCAD2014二次开发的注意事项
    WIN10更新后重新激活CAD
    获取子图元
    常用语句
    向命令行发送命令
    DatagridView内容自动换行和换行符换行
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9711285.html
Copyright © 2011-2022 走看看