👤

Język C++

Valeria jest młodą klaczą, która wybiera się z przyjaciółmi na party. Zawsze podąża za trendami mody i
wie, że dzisiaj najmodniejsze jest noszenie podków w różnych kolorach. Ma co prawda cztery piękne podkowy
z ubiegłego roku, ale niestety może się zdarzyć, że nie ma tam aż czterech różnych. Może się też zdarzyć,
że wszystkie są jednakowego koloru. W przypadku, gdy wśród posiadanych podków nie ma czterech różnych
Valeria musi pójść do hipermarketu i dokupić tyle podków w innych kolorach niż posiada, by w sumie mieć
cztery różne. Jednocześnie chciałaby wydać jak najmniej pieniędzy i kupić możliwie najmniej podków.
Masz informacje o kolorach czterech posiadanych podków i twoim zadaniem jest określenie ile nowych podków
trzeba dokupić, by Valeria była zadowolona.
Wejście
Pierwsza linia wejściowa zawiera cztery liczby całkowite s1, s2, s3, s4 (1 ≤ s1, s2, s3, s4 ≤ 10^9) - oddzielone
pojedynczymi odstępami - to kolory czterech podków, które posiada Valeria.

Wyjście
Jedyna linia wyjścia powinna zawierać liczbę podków, które musi dokupić Valeria.

Dla danych wejściowych:
1 7 3 3
poprawnym wynikiem jest:
1

Dla danych wejściowych:
7 7 7 7
poprawnym wynikiem jest:
3


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <set>

int main() {

   int a;

   const int numberOfLegs = 4;

   std::set<int>horseshoes;

   for(int i = 0; i < numberOfLegs; i++){

       std::cin >> a;

       horseshoes.insert(a);

   }

   std::cout << numberOfLegs - horseshoes.size();

   return 0;

}

Wyjaśnienie:

Najprościej użyć tutaj seta, który eliminuje powtórzenia. Czyli jeśli dodajemy do niego podkowy, to znajdą się w nim tylko takie które nie mają powtórzeń. Dlatego aby wyświetlić ile musi dokupić podków, to od liczby nóg = 4 odejmujemy wielkość seta z róznymi podkowami