332
Cerința
Se dau două șiruri a și b cu câte n elemente, numere naturale din mulțimea {1,2}. Se dorește transformarea șirului a în șirul b, având la dispoziție următoarele operații:
- interschimbarea a două elemente
- înlocuirea unui element
1cu2sau a unui element2cu1.
Determinați pentru cele două șiruri numărul minim de operații prin care se transformă șirul a în șirul b.
Date de intrare
Programul citește de la tastatură numărul n, apoi cele n elemente ale șirului a, apoi cele n elemente ale șirului b.
Date de ieșire
Programul va afișa pe ecran numărul minim ce operații C.
Restricții și precizări
1 ≤ n ≤ 1000
Exemplu
Intrare
5 2 2 1 1 2 2 2 2 1 1
Ieșire
1
Explicație
Prin interschimbarea în primul șir a elementului de pe poziția 3 cu cel de pe poziția 5 se obține al doilea șir.
#include <bits/stdc++.h>
using namespace std;
int n , a[1005] , b[1005] , cnt1 , cnt2;
int main()
{
cin >> n;
for(int i = 1 ; i <= n ; i ++) cin >> a[i];
for(int i = 1 ; i <= n ; i ++) cin >> b[i];
for(int i = 1 ; i <= n ; ++i)
if(a[i] != b[i])
if(a[i] == 1) cnt1 ++;
else cnt2 ++;
cout << max(cnt1 , cnt2);
return 0;
}
Comentarii