Witam. Mam problem z tym oto zadaniem:
https://sio2.staszic.waw.pl/c/olimpijskie-kolko-informatyczne3/p/klawiatura/1194/
Według mojego rozumowania algorytm jest następujący:
Mamy te pary liter które nie mogą kolo siebie stać:
(a, b), (b, c), (c, a), (f, g)
Kolejno i-lierowe hasła:
(------------------------------------------------)
Hasło 1-literowe:
Mamy 26 kombinacji (a, b, c , ... , z)
(------------------------)
Hasło 2-literowe:
litera a: (aa, ac, ad, ... , az) -> 25 kombinacji
litera b (ba, bb,, ... , bz) -> 25 kombinacji
To samo dla reszty liter które nie mogą kolo siebie stać(dla c i f).
Pozostałe litery mają po 26 kombinacji, czyli całkowita liczba kombinacji z wykluczeniem haseł z literami które nie mogą kolo siebie stać wynosi:
25x4 + 26x22 = 672
(--------------------------------------------------------------)
Hasło 3-literowe:
To co w nawiasie to kombinacje 2-literowe.
litera a:
a(aa, ac, ..., az)
a(ba, bb, bd, ...) -> musimy wyrzucić wszystkie kombinacje 2-literowe dla litery 'b'(dlatego bo po znaku 'a' nie może występować litera 'b'). Czyli dla litery 'a' usuwam:
672(ilość wszystkich kombinacji haseł 2-literowych)
(-)
25(ilość kombinacji 2-literowej tylko dla litery 'b')
(=)
647 -> ilość kombinacji haseł 2-literowych jakie mogą nastąpić po literze 'a'.
To samo dla każdej pary opisanej w zadaniu(tzn. tej pierwszej litery z pary).
Dla pozostałych ilość kombinacji to po prostu 672.
Sumując to wszystko wychodzi:
4x647 + 22x672 = 17372;
(--------------------------------------------)
Hasło 4-literowe:
a:
a(aaa, aac, ..., aaz)
a(baa, bab...) -> usuwam wszystkie kombinacje 3-literowe dla znaku 'b'. Czyli dla litery 'a' i każdej z pary:
17372(łączna suma kombinacji haseł 3-literowych)
(-)
647(ilość kombinacji haseł z litera na początku z danej pary wykluczonej)
(=)
16725;
Sumując to wszystko wychodzi:
16725x4 + 22x17372 = 449084;
Problem jest taki że w podstawowym teście wychodzi wynik 449033. Ma ktoś jakoś pomysł co jest źle w moim rozumowaniu? Z góry dzięki ;)