Canadian Computing Competition: 2001 Stage 1, Junior #3, Senior #1
In a card game, each player's hand is made up of cards. Each hand has a total point value determined by the number of cards that have a point value. The cards which are worth points are the
Ace
( points),
King
( points),
Queen
( points) and
Jack
( point). The other cards
(2, 3, 4, 5, 6, 7, 8, 9, 10)
have no point value.
There are four of each type of card, one in each of the four suits. The suits are called clubs (C
), diamonds (D
), hearts (H
), and spades (S
). As well, points are assigned for each suit which has a void
( points), a
singleton
( points), or a
doubleton
( point). A void in a suit means that there are no cards of that suit (e.g. a hand with no spades). A singleton in a suit means that there is only one card in that suit (e.g. a hand with only one diamond). A doubleton in a suit means that there are only two cards in that suit.
Write a program to read a set of thirteen cards in the form of a string, then evaluate the number of points in the hand. The suits will appear in increasing alphabetical order. Within each suit there will be no duplicate cards.
The output is to be the hand and the point value shown in a table form as below. Your output should list the cards in the same order as the input. Note that 10
is represented by the character T
in both the input and the output.
Sample Input 1
C258TJKD69QAHSTJA
Sample Output 1
Cards Dealt Points
Clubs 2 5 8 T J K 4
Diamonds 6 9 Q A 6
Hearts 3
Spades T J A 5
Total 18
Sample Input 2
CAD578KAHAS47TQKA
Sample Output 2
Cards Dealt Points
Clubs A 6
Diamonds 5 7 8 K A 7
Hearts A 6
Spades 4 7 T Q K A 9
Total 28
Note: your output does not need to match exactly. The spacing is up to you.
Comments
Hello, does anyone know why my code receives a "WA" on test case 1? Thanks in advance!
I had the same problem, consider what happens when all the cards are in the same suit.
For those of you who are confusing due to the constantly feedback of WR but the code works fine --- spacing doesn't matter, but you NEED AT LEAST 1 spacing in order to make it works
This comment is hidden due to too much negative feedback. Show it anyway.
Declare a larger buffer, 4096 is a commonly used number.