Решение задачи Пересечение множеств с Acmp

Без пояснения   Просмотров: 31


Даны два неупорядоченных набора целых чисел (может быть, с повторениями). Выдать без повторений в порядке возрастания все те числа, которые встречаются в обоих наборах.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int n,m, t;
    scanf("%i",&n);
    scanf("%i",&m);
    vector<int> a;
    vector<int> b;
    vector<int> c(1000000);
    for(int i = 0; i < n; ++i){
        scanf("%i",&t);
        a.push_back(t);
    }
    for(int i = 0; i < m; ++i){
        scanf("%i",&t);
        b.push_back(t);
    }
    for(int i = 0; i < a.size(); ++i)
        c[a[i]] = 1;
    for(int i = 0; i < b.size(); ++i)
        if(c[b[i]] == 1)
            c[b[i]] = 2;
    for(int i = 0; i < c.size(); ++i){
        if(c[i] == 2)
            printf("%i", i);
        printf(" ");
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться