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 1 cu 2 sau a unui element 2 cu 1. 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
Răspunsuri la întrebare
Răspuns de
4
Am atasat codul mai jos......
#include <iostream>
#include <valarray>
int main()
{
int n;
std::cin >> n;
std::vector<int> a(n), b(n);
for (int & elem : a) std::cin >> elem;
for (int & elem : b) std::cin >> elem;
const std::valarray<int> dif = decltype(dif)(a.data(), a.size()) - decltype(dif)(b.data(), b.size());
std::cout << std::max(dif[dif == 1].size(), dif[dif == -1].size());
}
#include <iostream>
#include <valarray>
int main()
{
int n;
std::cin >> n;
std::vector<int> a(n), b(n);
for (int & elem : a) std::cin >> elem;
for (int & elem : b) std::cin >> elem;
const std::valarray<int> dif = decltype(dif)(a.data(), a.size()) - decltype(dif)(b.data(), b.size());
std::cout << std::max(dif[dif == 1].size(), dif[dif == -1].size());
}
Anexe:
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă