DKC 2013 SHORT COMPUTING PROBLEMS 1. Linker

Transcription

DKC 2013 SHORT COMPUTING PROBLEMS 1. Linker
DKC3 2013 SHORT COMPUTING PROBLEMS
1. Linker
(15 pts)
A linker is a program that combines compiled object files of a program into an executable file, linking
unresolved external name references (to subprograms or global variables) in one object file to their
definitions in another. Most linkers have a facility for dealing with libraries—collections of object files—
selecting a minimal set of object files out of a library so as to define all the outstanding unresolved
names. The individual object files in the library may themselves reference unresolved names, so when
the linker includes one object file from a library, it may have to include others as well. For this problem,
you will write a program to determine what the minimal set is.
Input
The input to this program will consist of 10 test cases. A test case is consisted of a set of root names
(strings separated by whitespace) for which definitions are to be found, followed by an isolated semicolon
(i.e., a semicolon that is surrounded by whitespace), followed by a description of the contents of a library.
This description consists of a sequence of object file directories, each having the form
filename type1 name1 type2 name2· · · ;
The filename and all the names are strings. Each type is either U, indicating that the following name is
used in filename, but not defined, or D, indicating that the following name is defined in filename. Each
object file directory ends with an isolated ‘;’. The input is in free format.
You may assume file names are limited to 256 characters. You may assume that each required name is
defined in exactly one library file. Each test case ends with a line consisting of only an asterisk “*”.
Output
The output consists of a list of the minimal set, S, of filenames from the library such that the root names
and the type ‘U’ names from the files in S all have definitions (type ‘D’ names) among the files in S. List
the result in the format shown in the example, in the order in which the file names appear in the
description of the library. Separate the answer to each test case with a blank line.
Input File:
D:\DKC3\LinkerIn.txt
Output File: D:\DKC3\LinkerOut.txt
Examples:
Input:
print sin cos read ;
files.o D close D open ;
math.o D sin D cos U error ;
diagnose.o D error ;
format.o D printf D scanf ;
input.o D read U close U
error D seek ;
output.o D print U error U close ;
*
3
DKC 2013 Short Computing Problems
elog strequals read_order ;
lol.o D teemo D garen U run_moba ;
logging_lib.o D tlog D dlog D ilog D wlog D elog D flog U gettimestamp ;
time_lib.o D gettimestamp ;
string_lib.o D strequals D strcontains D strtrim U elog ;
order_dao.o D create_order D read_order D update_order D delete_order ;
*
Output:
files.o
math.o
diagnose.o
input.o
output.o
logging_lib.o
time_lib.o
string_lib.o
order_dao.o
2
3
DKC 2013 Short Computing Problems
2. Algebraic Expressions
(15 pts)
We can write simple algebraic expressions two dimensionally, like this:
2
x
= x + (y - x )/2x
n+1
n
n
n
or we can write them in TeX format, like this:
x_{n+1} = x_{n} + (y - x_{n}^{2})/2x_{n}
In this problem, you are to convert the first form to the second.
Input
The input consists of up to three lines of text per test case, a superscript line (possibly empty), a main
line, and an optional subscript line. Each superscript applies to the last character on the main line that is
below and to its left. The lines contain only printing characters and blanks (no tabs). Each subscript
applies to the last non-blank character on the main line that is above and to its left. You are to convert
subscripts and superscripts to the notation illustrated above, with subscripts looking like _{...} and
superscripts like ^{...}. When a character has both a subscript and a superscript, put the subscript first.
Remove any blanks on the main line that have a sub- or superscript above or below them. Preserve any
other blanks on the main line and within sub- or superscripts. There will be 10 test cases each separated
by an asterisk “*”.
Output
For each input, write the TeX equivalent.
Input File:
D:\DKC3\AlgebraicIn.txt
Output File: D:\DKC3\AlgebraicOut.txt
Examples:
Input:
2
x
n+1
= x + (y - x )/2x
n
n
n
*
3
x
2
= (x +(y-x) )/2x
n
n
*
Output:
x_{n+1} = x_{n} + (y - x_{n}^{2})/2x_{n}
x^{3} = (x_{n}+(y-x)^{2})/2x_{n}
3
3
DKC 2013 Short Computing Problems
3. Bob’s Simple Sort
(5 pts)
Accounting has yet another task for Bob to solve for them. They have lists of integers that they need to
be sorted in ascending order. Not only sorted but separated out into odds and evens. (I think they're just
messing with Bob now.)
Input
Each line in the file will start with an identifier (which may contain numbers but no spaces) followed by a
list of integers. Spaces will be used as separators. There will be 10 test cases.
Output
Each line should start with the identifier, followed by the ordered list of odd numbers and then the
ordered list of evens. Everything should be space separated.
Input File:
D:\DKC3\SortIn.txt
Output File: D:\DKC3\SortOut.txt
Examples:
Input:
HiBob! 9 8 7 6 5 4 3 2 1
AccountingRulez55 23 1 100 29 201
Output:
HiBob! 1 3 5 7 9 2 4 6 8
AccountingRulez55 1 23 29 201 100
4
3
DKC 2013 Short Computing Problems
4. Wrap Around Code
(15 pts)
In this program you will be given a set of letters to encode. The difference here is that different rules are
used for different letters and the counting process starts where the last letter ends. Using the numerical
value of each letter (A=1, B=2, … Z=26) the rules are as follows:
If the letter is between the given
letters, inclusive:
The number of letters to count is given by:
A-E
Multiply its numerical value by 2
F-J
Divide its numerical value by 3. Multiply the integer
remainder by 5.
Divide its numerical value by 4. Multiply the integer
part of the quotient by 8
Multiply the sum of the digits of its numerical value
by 10
Find the largest integer factor of its numerical value
less than the value itself. Multiply it by 12.
K-O
P-T
U-Z
As an example, if the set of letters to encode consists of the letters B, G and Z, then the B with a
numerical value of 2 encodes to a 4. Counting 4 letters from A produces an E. The G, with a numerical
value of 7, encodes to a 5. Counting down 5 letters from the E produces the letter J. The Z with a
numerical value of 26 has 13 as its largest factor. Count 156 letters (12*13) has the effect of wrapping
around the alphabet 6 complete times and ending at J. The encoded solution for the letter set B, G, Z is
E J J.
Input
There will be 10 input lines. Each will consist of a series of upper case letters and will end with a $. The
$ is not encoded.
Output
Output will consist of a single line per test case.
Input File:
D:\DKC3\WrapIn.txt
Output File: D:\DKC3\WrapOut.txt
Examples:
Input:
Output:
BGZ$
ARJ$
EJJ
COT
5
3
DKC 2013 Short Computing Problems
5. Minesweeper
(20 pts)
Have you ever played minesweeper? The goal of the game is to find where all the mines are located
within a M x N field.
The game shows a number in a square which tells you how many mines there are adjacent to that
square. Each square has at most eight adjacent squares. For instance, suppose you have the 4x4 field
below with 2 mines (which are represented by an * character). If we would represent the same field
placing the hint numbers described above, we would end up with the field on the right.
*...
....
.*..
....
*100
2210
1*10
1110
Input
The input will consist of an arbitrary number of fields. The first line of each field contains two integers n
and m (0 < n, m ≤ 100) which stands for the number of lines and columns of the field, respectively. Each
of the next n lines contains exactly m characters, representing the field.
Safe squares are denoted by “.” And mine squares by “*”, both without the quotes. The first field line
where n = m = 0 represents the end of the input and should not be processed. The end of the file will be
identified with a 0 x 0 minefield. There will be 10 test cases.
Output
For each field, print the message “Field #x:” on a line alone, where x stands for the number of the field
starting from 1. The next n lines should contain the field with the “.” Characters replaced by the number
of mines adjacent to that square. There must be an blank line between field outputs.
Input File:
D:\DKC3\MineIn.txt
Output File: D:\DKC3\MineOut.txt
Examples:
Input:
Output:
44
*…
….
.*..
….
35
**…
…..
.*…
00
Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100
6
3
DKC 2013 Short Computing Problems
6. Text Messaging
(10 pts)
A common cell phone’s number keypad consists of 8 digits which contain letters of the alphabet. Given
an input string containing a series of digits, print out all possible strings that can be produced in
alphabetical order. Below is a list of which letters correspond to which digit on the keypad:
2:
3:
4:
5:
6:
7:
8:
9:
ABC
DEF
GHI
JLK
MNO
PQRS
TUV
WXYZ
Input
Input will consist of 10 test cases. Each test case is a string made up of a series of digits, each on its
own line.
Output
Output will be a list of each possible string that can be created from the corresponding line of the input.
Output the strings in alphabetical order, separated by commas. Each output case will be on its own line
and terminated with an asterisk ‘*’. Output strings should be all caps.
Input File:
D:\DKC3\TextIn.txt
Output File: D:\DKC3\TextOut.txt
Examples:
Input:
386
3444
Output:
DTM,DTN,DTO,DUM,DUN,DUO,DVM,DVN,DVO,ETM,ETN,ETO,EUM,EUN,EUO,EVM,EVN,EVO,FTM,F
TN,FTO,FUM,FUN,FUO,FVM,FVN,FVO*
DGGG,DGGH,DGGI,DGHG,DGHH,DGHI,DGIG,DGIH,DGII,DHGG,DHGH,DHGI,DHHG,DHHH,DHHI,D
HIG,DHIH,DHII,DIGG,DIGH,DIGI,DIHG,DIHH,DIHI,DIIG,DIIH,DIII,EGGG,EGGH,EGGI,EGHG,EGHH,EG
HI,EGIG,EGIH,EGII,EHGG,EHGH,EHGI,EHHG,EHHH,EHHI,EHIG,EHIH,EHII,EIGG,EIGH,EIGI,EIHG,EI
HH,EIHI,EIIG,EIIH,EIII,FGGG,FGGH,FGGI,FGHG,FGHH,FGHI,FGIG,FGIH,FGII,FHGG,FHGH,FHGI,FH
HG,FHHH,FHHI,FHIG,FHIH,FHII,FIGG,FIGH,FIGI,FIHG,FIHH,FIHI,FIIG,FIIH,FIII*
7
3
DKC 2013 Short Computing Problems
7. Fibonacci Lengths
(10 pts)
The Fibonacci sequence is defined such that the first and second terms are 0 and 1 respectively and the
current term is the sum of the previous two. The first 10 terms of the sequence are as follows:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34…
Given an integer input, calculate which term in the Fibonacci sequence produces the first Fibonacci
number to contain at least that many digits.
Input
There will be 10 test cases. Each test case will consist of an integer each on its own line.
Output
Output will be the term number of the first Fibonacci number to contain at least n digits where n is the
input value.
Input File:
D:\DKC3\FibonacciIn.txt
Output File: D:\DKC3\FibonacciOut.txt
Examples:
Input:
10
25
Output:
46
118
8
3
DKC 2013 Short Computing Problems
8. Brad’s Kaiser Burgers
(10 pts)
Brad owns a restaurant, and he recently came up with a great gimmick to make his business soar! He
wanted to put his competition to shame by providing customers with Brad’s Kaiser Burger menu, made
up of an assortment of giant burgers made of other burgers.
However, Brad’s customers haven’t liked his new menu due to quality issues – ingredients in wrong
places, unmatched buns, etc. He wants you to be his new quality check rep. to make sure every burger
going out is made correctly. You need to ensure all non-bun ingredients are within a top and bottom bun
and all top buns have a bottom bun.
Write a program to verify each burger, determining which ones are the good burgers and reporting outof-place ingredients of the bad burgers.
Input
The input file will contain 10 test cases, one test case per line. Each test case will consist of a single
burger with fewer than 100 ingredients. The ingredients of each burger will be separated by spaces and
can be any of the following: bun, mayo, ketchup, mustard, onion, tomato, cheese, lettuce, beef, turkey,
bison, veggie, or bacon. Bun tops are indicated by a left parenthesis, “bun(“, and bun bottoms are
indicated by a right parenthesis, “bun)”.
Output
Your program should produce 10 lines of output, one line for each test case. The output for each test
case containing a bad burger will be a list of numbers indicating which ingredients are incorrect – the first
ingredient being 1, second ingredient being 2, and so on. An incorrect ingredient is any unmatched bun
(top bun with no bottom or bottom bun with no top) or any other ingredient not within a top bun and a
bottom bun. Delimit each incorrect ingredient from others with a space, and list the ingredients in order
from smallest to largest of their numbers. If a burger is found to be good, then output “good burger” for
that test case. Case is sensitive.
Input File:
D:\DKC3\BKBurgersIn.txt
Output File: D:\DKC3\BKBurgersOut.txt
Examples:
Input:
bun( mayo bun( ketchup beef mustard bun) ketchup bun( bun( bun( cheese bun) cheese beef bun) bun) bun)
tomato bun( mustard ketchup cheese bun( turkey veggie beef bacon bun) lettuce bun( cheese bacon cheese bacon bun)
Output:
good burger
1 2 3 4 5 12
9
3
DKC 2013 Short Computing Problems
9. Prime Finder
(5 pts)
A prime number is a non-negative integer greater than one and has only two positive divisors, one and
itself. A number’s neighboring prime numbers are the greatest prime number less than the number and
the least prime number greater than the number. Twin primes are two consecutive odd prime numbers
such as 3 and 5.
Write a program that, when given a number greater than 2 and less than 100,000, will output the
number’s two neighboring prime numbers and whether or not the number is prime.
Tip: There are 9,591 prime numbers greater than 2 and less than 100,000.
Input
The input file will contain 10 test cases, each case being a number on its own line.
Output
There will be 10 lines of output, one for each test case. Each line will contain “yes” when the number
given is prime and “no” when it’s not prime, followed by first the prime number preceding the number,
then the following prime number. Each portion of the answer of a test case will be separated from the
others with a space.
Input File:
D:\DKC3\PrimeIn.txt
Output File: D:\DKC3\PrimeOut.txt
Examples:
Input:
1337
77773
Output:
no 1327 1361
yes 77761 77783
10
3
DKC 2013 Short Computing Problems
10. Busses
(20 pts)
Lee loves riding busses. He likes riding long busses, short busses, and regular busses. However, he
doesn’t really like crowded busses, so sometimes he will pick the bus that he rides based on the number
of people already on the bus and the number of people waiting to get on the bus. Lee will only get on a
bus if it is at least 20% empty.
Long busses can hold up to 80 passengers, regular busses can hold up to 50 passengers, and short
busses can only hold up to 20 passengers. The bus stop Lee likes to use usually sends more than one
bus at a time, and they always seem to arrive at the same time. Other people aren’t as concerned about
crowds as Lee -- when the busses arrive, they board them in an even distribution until they are either full
or there are no more people to board. That is, if bus A has 5 empty seats and bus B has 20 empty seats,
five of the first 10 people will board the bus A, and the rest of the people will board bus B.
Input
In each test case the first line will be how many people are waiting at the bus stop (this number does not
include Lee). Each line of the input file after the first one will consist of the type of bus, the number of
people on it, and the number of those people who are getting off at this stop (separated by spaces).
There are 10 test cases and each test cases will be delimited by an asterisk.
Output
The output should be one line listing the type(s) of busses that Lee can ride. Your answer should be
formatted from the smallest to the largest type. If Lee can ride all three types, they should be separated
by commas, otherwise they should just be separated with an “or”, such as “Lee can ride the regular or
long bus today.” or “Lee can ride the short, regular, or long bus today.” If none of the busses fit Lee’s
criteria, you should output “Lee can’t ride a bus today.”
Input File:
D:\DKC3\BussesIn.txt
Output File: D:\DKC3\BussesOut.txt
Examples:
Input:
Output:
75
Short 4 0
Regular 49 12
Regular 12 3
Long 3 3
*
0
Short 3 3
*
Lee can ride the regular or long bus today.
Lee can ride the short bus today.
11
3
DKC 2013 Short Computing Problems
11. Alarmingly Awkward Alliterations Are Annoying
(5 pts)
Tim “The Wordsmith” Johaneson likes words. One of his favorite games is to come up with alliterations,
where all of the first letters in the word are the same (such as the title of this problem). During a recent
newspaper contest (sponsored by Tim), contestants were encouraged to submit alliterations. The
longest (most number of words) alliteration will be declared the winner. The grand prize for winning is a
trip to Looney Larry’s Leaping Liberian Llama Land (taxes and transportation not included) and a $5
coffeehouse gift certificate.
Surprisingly, there haven’t been very many entries, but Tim still would like a program to help him figure
out how many words are in each line of input. If the input is not alliterative, Tim doesn’t really want to
know anything about it.
Input
Each test case will consist of a line of text that may or may not be an alliteration. There will be 10 test
cases.
Output
The output should either be how many words are in the alliterated sentence, or “Not alliterative” if the
sentence is not an alliteration.
Input File:
D:\DKC3\AAAAAIn.txt
Output File: D:\DKC3\AAAAAOut.txt
Examples:
Input:
Busy Beavers Bus Busily, Barely Breaking Bandages.
My foot hurts, I wish someone would be my friend.
Output:
7
Not alliterative
12
3
DKC 2013 Short Computing Problems
12. Tenstrike Bowling
(30 pts)
In the country of Tenstrike the most popular pastime is bowling. Over the last few decades everyone has
become so good at bowling that scoring a 300 is now a very common occurrence. So the National
Bowling Association has decided to change the rules of bowling to make the game more difficult. The
lanes are no longer 60 feet long, they are now 100 feet long. The lanes are no longer 42 inches wide,
they are 60 inches wide. Finally there are no longer 10 pins, there are 21 pins. Also, after a strike you
count the next 3 scores instead of the next 2, and after a spare you count the next 2 scores instead of
the next 1.
Because of these changes the current automatic scoring machines in all the bowling alleys in Tenstrike
need to have new software written for them.
Write a report that will read the results of 10 different games and output the scores of each game.
Input
Each input line will contain the scores for a single game, with the scores for each roll of the ball
separated by a single space. The score of a single roll will be represented by a single character – either
a number indicating the number of pins knocked down, a ‘/’ for a spare, or a ‘X’ for a strike. I almost
forgot, they now play for 13 frames instead of 10.
Output
The program should output the total game score for each game in the input file.
Input File:
D:\DKC3\TBowlingIn.txt
Output File: D:\DKC3\TBowlingOut.txt
Rules for Tenstrike Bowling
A single bowling game consists of 13 frames. The object in each frame is roll a ball at 21 bowling pins
arranged in an equilateral triangle and knock down as many pins as possible.
A maximum of 3 rolls is allowed per frame.
On the first roll
 If a bowler knocks down all 21 pins on the first roll the frame is scored as a strike.
A second roll for that frame is not given.
 If a bowler doesn’t knock down all the pins, the number of pins knocked down is scored for
the first roll of the frame.
On the second roll
 If a bowler knocks down all of the remaining pins, the second roll of the frame is scored as a
spare.
 If a bowler doesn’t knock down all the pins, the number of pins knocked down is scored for
the second roll of the frame.
On the third roll
 If a bowler knocks down all of the remaining pins, the third roll of the frame is scored as a
spare.
13
3
DKC 2013 Short Computing Problems

If a bowler doesn’t knock down all of the remaining pins the number of pins knocked down is
scored for the third roll of the frame.
- If a bowler scores a strike in the first throw of the13th frame the bowler is allowed two more rolls.
- If a bowler scores a spare on the second throw of the 13th frame, the bowler is allowed one more roll.
- A bowler never gets more than three throws in the 13th frame.
Scoring a Bowling Game
The score for a bowling game consists of the sum of the scores for each frame. The score for each
frame is the total number of pins knocked down in the frame plus bonuses for strikes and spares.
If a bowler scores a strike in a particular frame the score for that frame is 21 plus the sum of the next
three rolls.
If a bowler scores a spare in a particular frame the score for that frame is 21 plus the score of the next
two rolls.
A gutter ball or a ball that misses any pins still standing is marked down as a 0.
The maximum possible score in a game of Tenstrike bowling (strikes every frame plus two extra strikes
for the thirteenth frame) is 1071.
Examples:
Input:
Output:
X 14 6 / 15 5 / 15 / 10 5 5 18 / X 12 5 3 16 3 / 10 10 / 10 8 2 16 4 / 15 5 /
458
Input:
Output:
XXXXXXXXXXXXXXX
1071
14
3
DKC 2013 Short Computing Problems
13. Longest Chain
(35 pts)
Imagine a grid composed of upper case letters. Within the grid are chains of various lengths. A chain is
defined as a succession of distinct letters of the same kind running horizontally or vertically, no
diagonals. The chain may span multiple rows and columns.
Input
Each test will consist of the following. The first line of input will be the height, m, of the grid. The second
line of input will be the width, n, of the grid. m and n will be greater than 2 and less than 20. The next m
lines will be the composition of the grid. There will be 10 test cases and there will be a blank line between
each test case.
Output
Your program should output the character that is represented by the longest chain of characters that
exists in the grid, as well as the length of the chain.
Input File:
C:\DKC3\ChainIn.txt
Output File: C:\DKC3\ChainOut.txt
Examples:
Input:
10
15
GTGTAUJEPJOZIIM
YOHQGGQNEQDDJPT
JMSPXGPXKICLVQW
MKSHLGRVKBBSOSN
XIUTGGBKTEFQQQQ
CIFIBNBLBVEXCIW
IIILBBBHGKRMJOM
ZEIBRZATFZQXBYY
IDIPALLLLEIRUSM
IVULQLLLKGJSWON
Input:
8
8
XTGTDIEY
DKQUDYBP
ZXPMYGNW
MKSHLGRV
XIUTGGBK
CIFIBNBL
IXILBZBH
HEVOIBMH
Output:
L7
Output:
G4
15
3
DKC 2013 Short Computing Problems
14. Angularly Clocktastic
(20 pts)
Gary is a mathematician with a strange habit – he loves finding the angles of things. He likes measuring
the angles between two flower petals, he loves measuring the angle between two intersecting streets,
and he even loves finding the angle between the ground and the moon in the sky.
One object lends itself particularly well to angles: a clock. The angle between the hour and minute hands
of an analog clock is always between 0 and 180 degrees (inclusive). For example, when the time is
12:00, the angle between the hour and minute hands is 0 degrees. When the time is 6:00, the angle
between the hour and minute hands is 180 degrees.
Gary loves angles, but his eyesight isn’t what it used to be. His new favorite activity is asking his
granddaughter, Susan, the time. Then, after she tells him, he immediately wants to know what the angle
is between the hour and minute hands. Being a brilliant mathematician, he already knows the answer –
he is just trying to train Susan to think of angles (and clocks) like he does. He knows, for example, that
the hour hand of a clock moves slowly between the hours as it moves around the face – that is, when it is
3:15 the hour hand is one quarter of the way between 3 and 4, not directly pointed at 3. Susan is not a
mathematician, so she needs help answering these questions.
Write a computer program that takes in a time and responds with the angle between the hour and minute
hand to help Susan.
Input
The input data will consist of a time formatted as HH:MM. There are 10 test cases.
Output
The output data should be the angle formed by the minute and hour hand in degrees, followed by
“degrees.”. The output should always have one and only one number after the decimal point (for
example, “120.0 degrees.”).
Input File:
C:\DKC3\ClockIn.txt
Output File: C:\DKC3\ClockOut.txt
Examples:
Input
12:30
9:00
Output
165.0 degrees.
90.0 degrees.
16
3
DKC 2013 Short Computing Problems
15. Dome Builder Dennis
(30 pts)
Dennis is a home builder, but he doesn’t like square structures so he builds geodesic domes instead. A
geodesic dome is made up of triangles where the vertices of each triangle lie on an imaginary sphere
(e.g. the Epcot Center is a geodesic dome). The resulting structure uses far fewer materials than an
equivalent rectangular house and is significantly stronger. However, there are a few extra challenges
when building a dome. One of those is calculating how much of each building material to buy.
Dennis’ domes are of the hub-and-strut type. Each triangle in the dome framework is made up of 3
wooden struts that bolt into a hub at each vertex. A piece of plywood is nailed to the outside of each
triangle forming the “skin” of the dome. Depending on the size of the dome, there can be from 1 to 6
different lengths of struts. Each is given a letter designation (A = the smallest strut, B = the next biggest,
etc.). Each triangle can then be designated by the struts that make it up (e.g. a CCB triangle has a B
length strut at its base and C length struts on its other two sides). The diagram below illustrates the
framework of a “2 frequency” dome, which is made up of two strut lengths.
Dennis has a few domes to build and is trying to figure out how many bolts to buy (he can get a sizable
discount if he buys them up front in bulk). Each strut requires 8 bolts (4 at each end). Note that all struts
form the sides of two triangles, except the ones at the base. Write a program that will calculate how
many bolts will be required to attach all of the struts to the hubs.
Input
Each line of input will contain the quantity of each type of base strut and the number of each type of
triangle for a planned dome. There are 10 test cases.
Output
One line per test case containing the number of bolts needed.
Input File:
C:\DKC3\DomeIn.txt
Output File: C:\DKC3\DomeOut.txt
Examples:
Input
17
3
DKC 2013 Short Computing Problems
A:10 B:0 AAB:30 BBB:10
A:0 B:5 C:10 D:0 AAB:15 CCB:31 CCD:32
Output
520
996
18