Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_13_05 - Szyfr matematyczny |
Szyfr matematyczny
Każdej literze alfabetu łacińskiego została przyporządkowana liczba porządkowa.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Szyfrowanie wiadomości złożonej z powyższych liter i znaku spacji polega na zastąpieniu każdej litery przypisaną do niej liczbą. Znak spacji w tym szyfrowaniu jest punktem stałym nie podlegającym zmianom.
Wiadomość PIES I KOT po zaszyfrowaniu ma postać ciągu złożonego z cyfr i znaku spacji:
169519 9 111520
O ile szyfrowanie jest jednoznacznie wyznaczone, to odszyfrowanie już niekoniecznie. I to jest przedmiotem tego zadania. Ile różnych wiadomości, złożonych ze słów mających sens lub nie, można otrzymać w wyniku deszyfracji?
Wejście
W pierwszym wierszu wejścia znajduje się liczba całkowita d (d ≤ 105) oznaczająca liczbę zaszyfrowanych wiadomości. W każdym z kolejnych d wierszy podany jest ciąg złożony z cyfr i znaku spacji, który składa się na zaszyfrowaną wiadomość. Każde zaszyfrowane słowo ma co najwyżej 20 cyfr, a łączna długość zaszyfrowanej wiadomości jest mniejsza niż 100 znaków.
Wyjście
Dla każdego przypadku testowego w osobnym wierszu należy podać liczbę różnych wiadomości, które możemy otrzymać w wyniku deszyfracji.
Przykład
Wejście
1
169519 9 111520
Wyjście
20
Dodane przez: | Mariusz Śliwiński |
Data dodania: | 2013-11-16 |
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 ASM64 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 |
Pochodzenie: | ALGOLIGA |