213
Cerința
Se dau două șiruri de numere A
și B
.Calculati A
∩ B
.
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 A
∩ B
, î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
#include <bits/stdc++.h> using namespace std; ifstream fin("memory009.in"); ofstream fout("memory009.out"); int main() { int n , m , x , f1[32]={0} , f2[32]={0}; fin >> n >> m; for(int i = 0 ; i < n ; ++i) { fin >> x; f1[x]++; } for(int i = 0 ; i < m ; ++i) { fin >> x; f2[x]++; } for(int i = 0 ; i <= 30 ; ++i) { if(f2[i]!=0 && f1[i]!=0) fout << i <<" "; } fin.close(); fout.close(); return 0; }
Comentarii