Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_06_11 - Programowanie jest jak muzyka... |
Jaś został muzykiem, ale jego zamiłowanie do kryptologii nie ustało. Postanowił więc połączyć te dwie dziedziny i zaszyfrować Ci pewne wiadomości, a Twoim zadaniem jest je (a jakże) odczytać. Jedyne informacje, jakie Pan Kryptolog zdradził bez użycia szyfrów są następujące:
- szyfr składa się z pauz, ćwierćnut, ósemek, ósemek z kropką oraz szesnastek; od tradycyjnych nut o tych wartościach różni je niezamalowana główka;
- ćwierćnuta ma wartość dwóch ósemek, ósemka - 2 szesnastek, a kropka przy nucie zwiększa jej wartość o połowę;
- nuty zapisane są w kluczu wiolinowym;
- główka najniższej nuty w zapisie Jasia znajduje się na ostatniej linii, zaś najwyższa - na najwyższej;
- siedem pewnych liter można zaszyfrować na dwa sposoby;
- odszyfrowany tekst składa się z dużych liter alfabetu angielskiego oraz spacji;
- szyfr jest trywialny... dla Jasia.
Wejście
W pierwszej linii znajduje się niewielka ilość testów. Każdy test to pięciolinia zbudowana ze znaków: "-" oraz " ". Zapisane na niej nuty są zbudowane ze znaków: "o", "|", "\" i "." oraz znajdują się w odległości jednego znaku od siebie. Pięciolinie oddzielone są znakiem końca linii.
Wyjście
Na wyjściu powinny znaleźć się odszyfrowane wiadomości oddzielone znakiem nowej linii.
Przykład
Wejście: 3 |\ | ---------------o|---------|\------------- | -------------------------o|-------------- |\ |\ - |\ - |\ |\ --|\------|\--------|\--------|-------|\- o| o| o| o|. |\ o| ------|\--------------------------|------ | o|. -----o|---------------------------------- |\ |\ |\ |\ ----------|---|\--|\----------|-----------|\--|\- o| o| | o| o| | --|\-------------o|-----|\-------------------o|-- |\ |\ - | - |\ -o|---|----------------o|---------|-------------- o|. o|. --------------------------------------|\--------- | -------------------------------------o|---------- |\ |\ | ------|\----------|\---------------------------------------|\-----o|.------------|\---------------|--|\----- | | |\ o| |\ | | | --|\-o|.---------o|.--------------|----------|\--------|-----------------|------o|---------------o|-o|------ | |\ |\ |\ | |\ | - o| - o| |\ - |\ -o|.------|---|\------|\------|--o|--|\--|\-o|-------------------------------|\------------|\------------|\- o|. |\ o| |\ o|. o| | o| |\ | o| -------------o|-----------|-------------o|-------|\------------|\----------------------|--o|.--|------------ o| |\ | o| | ------------------------------------------------o|------------o|.-----------------------------o|------------ Wyjście: Podanie wyjściowych danych zepsułoby zabawę :)
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2016-10-17 |
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 |