Rezolvare completă PbInfo #2302 Memory009

Cerința

Se dau două șiruri de numere A și B.Calculati AB.

Date de intrare

Fișierul de intrare memory009.in conține pe prima linie numerele n, m (lungimile celor două șiruri), iar pe a doua linie n numere naturale separate prin spații, iar pe a treia linie m numere naturale separate prin spații .

Date de ieșire

Fișierul de ieșire memory009.out va conține mulțimea M care reprezinta mulțimea AB, în ordine crescătoare.

Restricții și precizări

  • 1 ≤ n ≤ m ≤ 1.000.000
  • numerele de pe a doua linie și a treia a fișierului de intrare vor fi mai mici sau egale cu 30
  • în fișierul de ieșire nu se repetă elementele !

Exemplu

memory009.in

3 2
2 5 3
5 9

memory009.out

5

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Memory009:

///by Matei - 100pnct
#include <fstream>

using namespace std;

ifstream cin("memory009.in");
ofstream cout("memory009.out");

int main()
{
    int n, m;
    cin >> n >> m;

    int rez1 = 0;
    for(int i = 1; i <= n; ++i){
        int x;
        cin >> x;

        rez1 = rez1 |(1 << x);
    }

    int rez2 = 0;
    for(int i = 1; i <= m; ++i){
        int x;
        cin >> x;

        rez2 = rez2 | (1 << x);
    }

    int rezF = rez1 & rez2;

    for(int i = 1; i <= 30; ++i){
        int aux = (1 << i);
        aux = aux & rezF;

        if(aux != 0){
            cout << i << ' ';
        }
    }
    cout << '\n';
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2302 Memory009

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2302 Memory009 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!