in c++, mersi anticipat.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n, fr1[10] = {}, fr2[10] = {}, x, s = 1;
cin >> n;
for (int i = 1; i <= n * 2; i++)
{
cin >> x;
if (i > 5)
fr2[x]++;
else
fr1[x]++;
}
int j = 0;
for (int i = 0; i <= 9; i++)
{
while (fr1[i])
{
if (i % 2 == 0)
j = 1;
else
j = 0;
for (j; j <= 9; j += 2)
while (fr2[j])
s = s * (i + j), fr2[j]--;
fr1[i]--;
}
}
cout << s-1;
return 0;
}
Explicație:
Sincer sa fiu habar nu am daca acesta este rezolvarea optima sau corecta am stat putin timp sa ma gandesc la ea si cu rezolvarea asta am ajuns la capat, normal s - ul imi da 45 totusi nu gasesc un motiv anume pentru oricare sir de numere as da, in caz de te-am inspirat si ti-ai dat seama de rezolvare te rog sa ma anunti si pe mine, mersi :))