269
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