CCC-12 (2012) - J4 (Big Bang Secrets)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Big Bang Secrets

Ο Sheldon και ο Leonard είναι φυσικοί που είναι κολλημένοι με τη θεωρία του BIG BANG. Προκειμένου να ανταλλάσσουν μυστικά τις γνώσεις τους, έχουν επινοήσει έναν κώδικα που κωδικοποιεί λέξεις με ΚΕΦΑΛΑΊΑ ΓΡΆΜΜΑΤΑ (UPPERCASE), μετατοπίζοντας τα γράμματά τους προς τα εμπρός.

Η μετατόπιση ενός γράμματος κατά S θέσεις σημαίνει ότι πηγαίνεις S γράμματα μπροστά στο αλφάβητο. Για παράδειγμα, η μετατόπιση του B κατά S = 3 θέσεις δίνει το E. Ωστόσο, μερικές φορές αυτό μας κάνει να προσπεράσουμε το Z, το τελευταίο γράμμα του αλφαβήτου. Κάθε φορά που συμβαίνει αυτό, γυρνάμε πίσω, θεωρώντας το A ως το γράμμα που ακολουθεί το Z. Για παράδειγμα, η μετατόπιση του Z κατά S = 2 θέσεις δίνει το B.

Ο κώδικας του Sheldon και του Leonard εξαρτάται από μια παράμετρο K και επίσης μεταβάλλεται ανάλογα με τη θέση κάθε γράμματος μιας λέξης. Για το γράμμα στη θέση P, χρησιμοποιούν την τιμή μετατόπισης S = 3P + K.

Για παράδειγμα, να πώς κωδικοποιείται η λέξη ZOOM όταν K = 3. Το πρώτο γράμμα, Z, έχει τιμή μετατόπισης S = 3 \times 1 + 3 = 6. Γίνεται επαναφορά στην αρχή του αλφαβήτου, και μετατρέπεται στο γράμμα F. Το δεύτερο γράμμα, O, έχει S = 3 \times 2 + 3 = 9 και γίνεται X. Τα δύο τελευταία γράμματα γίνονται A και B. Έτσι προκύπτει ότι ο Sheldon στέλνει στον Leonard το μυστικό μήνυμα: FXAB

Γράψτε ένα πρόγραμμα για τον Leonard που θα αποκωδικοποιεί τα μηνύματα που στέλνει ο Sheldon.

Είσοδος

Η είσοδος θα αποτελείται από δύο γραμμές. Η πρώτη γραμμή θα περιέχει τον θετικό ακέραιο K\;(K < 10), ο οποίος χρησιμοποιείται για τον υπολογισμό της τιμής μετατόπισης. Η δεύτερη γραμμή εισόδου θα είναι η λέξη, η οποία θα είναι μια ακολουθία μήκους το πολύ 20 κεφαλαίων χαρακτήρων.

Έξοδος

Η έξοδος θα είναι η αποκωδικοποιημένη λέξη σε κεφαλαία γράμματα.

Παραδείγματα

input

3
FXAB

output

ZOOM

input

5
JTUSUKG

output

BIGBANG

Comments

There are no comments at the moment.