Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
PESELLST - Lista numerów PESEL |
Po awansie na stanowisko asystenta zastępcy Kierownika Urzędu masz dużo więcej roboty. Otrzymałeś właśnie do przeanalizowania listę numerów PESEL. Lista ta jest efektem intensywnego procesu cyfryzacji danych prowadzonego w naszej krajowej administracji. Pan informatyk z Urzędu najpierw zeskanował starą listę papierową, a następnie wynik skanowania poddał procesowi optycznego rozpoznawania znaków. Efekt jest taki, że niektóre numery PESEL zawierają nieczytelną cyfrę (na szczęście najwyżej jedną w numerze), którą zastąpiono znakiem '?'. Mógłbyś spokojnie te błędy poprawić, ale Pan Kierownik (jak zwykle "na wczoraj") potrzebuje informacji o liczbie osób z listy, spełniających pewne kryteria dotyczące płci i daty urodzenia. Dodatkowo, ponieważ Pan Kierownik nie lubi dużo pisać, informacje o które mu chodzi zakodował w postaci trzycyfrowej liczby (tzw. TKPK - Trzycyfrowego Kodu Pana Kierownika) w następujący sposób:
- Pierwsza cyfra oznacza płeć i może mieć wartość 0,1 lub 2. (1 - mężczyzna, 2 - kobieta, 0 - pleć jest nieważna).
- Druga cyfra oznacza dzień tygodnia w jakim urodziła się dana osoba i ma wartości od 0 do 7. (1 - poniedziałek, 2 - wtorek, ..., 7 - niedziela, 0 - dzień tygodnia jest nieważny)
- Trzecia dotyczy roku urodzenia danej osoby. (1 - rok przestępny, 2 - rok zwykły, 0 - rok urodzenia nie ma znaczenia)
Więc na przykład kod 161 oznacza, że szukamy liczby mężczyzn urodzonych w sobotę w roku przestępnym. A kod 200 oznacza, że trzeba się dowiedzieć ile numerów z listy należy do kobiet.
Nie pozostaje Ci nic innego jak napisać program, który szybko obliczy to co trzeba za Ciebie.
Wejście
Pierwszy wiersz wejścia zawiera dwie liczby. Pierwszą jest kod TKPK opisany w treści zadania. Drugą jest liczba numerów PESEL na liście n (0≤n≤105).
Kolejne n wierszy zawiera dane numery PESEL.
Wyjście
Jedna liczba całkowita równa liczbie osób (właścicieli numerów PESEL z listy) spełniających kryteria opisane kodem TKPK.
Przykład 1
Wejście: 050 8 03093069448 87452611859 84672745?27 6?300984627 014?0210104 71091632346 940526?9857 74822018228 Wyjście: 3
Przykład 2
Wejście: 111 3 1862237?174 88690677791 4?851597221 Wyjście: 0
Dodane przez: | Witold Długosz |
Data dodania: | 2011-10-05 |
Limit czasu wykonania programu: | 1s-3s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |