Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
SZ_FR_086 - Fulle |
Bajtek uczy się gry w pokera. Bardzo wielu zasad jeszcze nie rozumie, stąd często przypadkowo tworzy swoje własne warianty tej gry. Tak jest też i w tym zadaniu, w którym rozważymy specjalny wariant wymyślony przez Bajtka.
Na potrzeby tego zadania skupimy się jedynie na figurach kart (as (A), król (K), dama (Q), walet (J), dziesiątka (T), dziewiątka (9), ..., dwójka (2)) pomijając kolory kart (kier, karo, pik, trefl).
Full to pięć kart, z których trzy karty mają tę samą figurę oraz dwie pozostałe karty mają tę samą figurę, ale różną od tej figury, która występuje trzy razy. Na przykład układ AAKKK
to full, podobnie jak TT2T2
, ale już AKQJT
, AAKKQ
, KKKKT
czy 77789
nie są fullami.
W tym zadaniu Bajtek używa tylko jednej, standardowej talii kart, w której są po cztery karty dla każdej figury. Bajtek w swoim układzie (być może znacznie więcej niż pięciu) kart wybranych z talii poszukuje jak największej liczby fulli. Każda karta może być częścią co najwyżej jednego fulla.
Ile najwięcej fulli może znaleźć Bajtek w swoim układzie kart? Pomóż mu to ustalić.
Wejście
W pierwszym (jedynym) wierszu wejścia znajduje się niepusty napis złożony ze znaków ze zbioru {A, K, Q, J, T, 9, 8, 7, 6, 5, 4, 3, 2}
bez żadnych odstępów. Określa on figury kolejnych kart w układzie Bajtka. Każdy znak ze zbioru występuje w napisie co najwyżej cztery razy.
Wyjście
Twój program powinien wypisać dokładnie jedną nieujemną liczbę całkowitą: liczbę fulli, jakie Bajtek może znaleźć w swoim układzie.
Ocenianie
Możesz rozwiązać zadanie w kilku prostszych wariantach — niektóre grupy testów spełniają pewne dodatkowe ograniczenia. Poniższa tabela pokazuje, ile punktów otrzyma Twój program, jeśli przejdzie testy z takim ograniczeniem.
Dodatkowe ograniczenia | Liczba punktów |
---|---|
Napis na wejściu składa się z dokładnie pięciu znaków | 16 |
Napis na wejściu składa się wyłącznie z liter A, K oraz Q | 15 |
Każda figura występuje na wejściu zero lub cztery razy | 17 |
Żadna figura nie występuje na wejściu cztery razy | 33 |
Przykłady
Wejście dla testu ful0a
:
QAAAATTTKKQQK
Wyjście dla testu ful0a
:
2
Możliwe jest wybranie na przykład AATTT
oraz AAKKK
jako dwóch osobnych fulli (zwróć uwagę, że asy użyte do konstrukcji obu fulli to parami różne karty). Możliwe są również inne rozwiązania, jak na przykład: TTAAA
, QQKKK
. W każdym jednak przypadku uzyskamy co najwyżej dwa fulle.
Wejście dla testu ful0b
:
AAKKK
Wyjście dla testu ful0b
:
1
W tym przykładzie wszystkie karty tworzą fulla.
Wejście dla testu ful0c
:
AKQJT98765432
Wyjście dla testu ful0c
:
0
W tym przykładzie wszystkie karty występują dokładnie raz, zatem nie jest możliwe utworzenie żadnego fulla.
Pozostałe testy przykładowe:
- Test
ful0d
: Karty2, 3, 4, 5, 6 i 7
występują dokładnie dwa razy, a karty8, 9, T, J, Q, K oraz A
występują dokładnie trzy razy. - Test
ful0e
: Każda karta występuje dokładnie cztery razy.
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2024-02-03 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |