CCC '22 J3 - Harp Tuning

View as PDF

Submit solution


Points: 5 (partial)
Time limit: 1.0s
Memory limit: 1G

Problem type
Canadian Computing Competition: 2022 Stage 1, Junior #3

The CCC harp is a stringed instrument with strings labelled A, B, …, T. Like other instruments, it can be out of tune.

A musically inclined computer science student has written a clever computer program to help tune the harp. The program analyzes the sounds produced by the harp and provides instructions to fix each string that is out of tune. Each instruction includes a group of strings, whether they should be tightened or loosened, and by how many turns.

Unfortunately, the output of the program is not very user friendly. It outputs all the tuning instructions on a single line. For example, the single line AFB+8HC-4 actually contains two tuning instructions: AFB+8 and HC-4. The first instruction indicates that harp strings A, F, and B should be tightened 8 turns, and the second instruction indicates that harp strings H and C should be loosened 4 turns.

Your job is to take a single line of tuning instructions and make them easier to read.

Input Specification

There will be one line of input which is a sequence of tuning instructions. Each tuning instruction will be a sequence of uppercase letters, followed by a plus sign (+) or minus sign (-), followed by a positive integer. There will be at least one instruction and at least one letter per instruction. Also, each uppercase letter will appear at most once.

The following table shows how the available 15 marks are distributed.

Marks AwardedNumber of InstructionsNumber of Letters in an InstructionNumber of TurnsExample Input
5 marks1209AFB+4
5 marks2019A+8H-4
3 marks20209AFB+8HC-4
2 marks2020999\,999AFB+88HC-444

Output Specification

There will be one line of output for each tuning instruction. Each line of output will consist of three parts, each separated by a single space: the uppercase letters referring to the strings, tighten if the instruction contained a plus sign or loosen if the instruction contained a minus sign, and the number of turns.

Sample Input 1

AFB+8HC-4

Sample Output 1

AFB tighten 8
HC loosen 4

Explanation of Sample Output 1

The input contains two tuning instructions: AFB+8 and HC-4.

Sample Input 2

AFB+8SC-4H-2GDPE+9

Sample Output 2

AFB tighten 8
SC loosen 4
H loosen 2
GDPE tighten 9

Explanation of Sample Output 2

The input contains four tuning instructions: AFB+8, SC-4, H-2, and GDPE+9.


Comments