Zainspirowany tym źle odebranym migrowanym postem .
Szef bezpieczeństwa w Twojej firmie jest zaniepokojony systemem generowania PIN-u po jego przekazaniu 12345
. Nie docenił też żartu Kosmicznych Kul, który zrobiłeś na jego koszt, więc zostałeś delegowany do ponownego napisania generatora PIN. Ponieważ musi zmieścić się na jakimś specjalnym sprzęcie, musisz uczynić go tak małym, jak to możliwe.
Twoje zadanie
- Podajesz dwa dane wejściowe - liczbę PIN i rozmiar PIN w cyfrach.
- Wygeneruj losowo określoną liczbę kodów PIN o określonym rozmiarze i wydrukuj ją.
- Wszystkie prawidłowe kody PIN o rozmiarze muszą być możliwe do wydrukowania, nawet jeśli nie są jednoznacznie prawdopodobne.
Istnieją jednak pewne ograniczenia dotyczące kodów PIN - tutaj są nieprawidłowe:
- Jeśli wszystkie pary mają tę samą cyfrę:
114422
(Uwaga: będzie to oczywiście obejmowało wszystkie te same cyfry PIN). - PIN coraz bardziej liniowe (10): mod
246802
. - Wszystkie grupy 3 są linie fizyczne na klawiaturze
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
. - Kod PIN można całkowicie podzielić na grupy z reguły 1 i reguły 3.
- Jeśli wszystkie pary mają tę samą cyfrę:
- To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach !
123
, ale 55432
byłoby dobrze.
55123
)?