## CCC '12 J4 - Big Bang Secrets

View as PDF

Points: 3
Time limit: 2.0s
Memory limit: 64M

Problem type
##### Canadian Computing Competition: 2012 Stage 1, Junior #4

Sheldon and Leonard are physicists who are fixated on the BIG BANG theory. In order to exchange secret insights, they have devised a code that encodes UPPERCASE words by shifting their letters forward.

Shifting a letter by positions means to go forward letters in the alphabet. For example, shifting B by positions gives E. However, sometimes this makes us go past Z, the last letter of the alphabet. Whenever this happens we wrap around, treating A as the letter that follows Z. For example, shifting Z by positions gives B.

Sheldon and Leonard's code depends on a parameter and also varies depending on the position of each letter in the word. For the letter at position , they use the shift value of .

For example, here is how ZOOM is encoded when . The first letter Z has a shift value of ; it wraps around and becomes the letter F. The second letter, O, has and becomes X. The last two letters become A and B. So Sheldon sends Leonard the secret message: FXAB

Write a program for Leonard that will decode messages sent by Sheldon.

#### Input Specification

The input will be two lines. The first line will contain the positive integer (), which is used to compute the shift value. The second line of input will be the word, which will be a sequence of uppercase characters of length at most .

#### Output Specification

The output will be the decoded word of uppercase letters.

#### Sample Input 1

3
FXAB

#### Output for Sample Input 1

ZOOM

#### Sample Input 2

5
JTUSUKG

#### Output for Sample Input 2

BIGBANG

• commented on Feb. 27, 2021, 9:54 a.m.

How do the sample outputs work? When I put 3 and FXAB, and do this formula 3×1+3, how does it go to Z? My program got LGMQ, because when you add the 6 to F (at pos 6) you get to 12 which is L?

• commented on Feb. 27, 2021, 10:38 a.m.

The question asks you to decode a message, not encode a message.

• commented on Nov. 18, 2020, 5:57 p.m.

Is it just my inexperience, or do you have to use a separate

if else loop for every separate letter?

• commented on May 15, 2020, 7:44 p.m.

bruh make the word decode 10 times bigger

• commented on Dec. 4, 2019, 9:15 p.m.

My submission produced an AC result. But after I tested it with the following input

3
HELLOWORLD

It gave the following output:

BVZWWBQQH=

How come?

• commented on Dec. 7, 2019, 5:13 p.m. edited

It is possible for the ASCII character code after decoding to be less than 39. Simply adding 26 to the result will not always make it into a valid letter—sometimes you will need to add a multiple of 26.