CCC '01 S1 - Keeping Score

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 16M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
Canadian Computing Competition: 2001 Stage 1, Junior #3, Senior #1

In a card game, each player's hand is made up of 13 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 (4 points), King (3 points), Queen (2 points) and Jack (1 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 (3 points), a singleton (2 points), or a doubleton (1 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


  • -1
    notpeachay420  commented on Aug. 19, 2020, 4:06 p.m. edited

    I get WA, but the 2 test cases work, any help? edit: nvm fixed it


  • -3
    Orion222  commented on July 9, 2020, 6:22 p.m. edit 2

    bruh why testcase 2 wrong


  • -1
    HyperFire12  commented on Jan. 31, 2020, 4:32 p.m.

    WA: Can anyone take a look at my submission? The samples are right but I have the spacing wrong. Shouldn't matter though


  • 1
    Evan_Real  commented on Sept. 25, 2019, 9:58 p.m. edit 3

    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


  • -1
    Lemonsity  commented on Oct. 22, 2018, 4:02 p.m.

    Would anyone mind taking a look at my program? First of all, I don't know if formatting the spacing is necessary. Second, because the output was clipped, I am not sure where I got it wrong, but it seems like the point for the club are right.


    • -11
      loltrollkill  commented on Oct. 22, 2018, 4:18 p.m. edit 2

      This comment is hidden due to too much negative feedback. Click here to view it.


      • 6
        geese  commented on Oct. 25, 2018, 2:26 p.m.

        "Note: your output does not need to match exactly. The spacing is up to you."

        positioning does not matter, can confirm


  • -5
    dawangk  commented on May 25, 2018, 8:54 p.m. edited

    This comment is hidden due to too much negative feedback. Click here to view it.


  • -3
    daniel_xu  commented on Jan. 9, 2018, 7:56 p.m.

    WA

    Please Help I don't understand where I went wrong


    • -1
      11238  commented on Jan. 9, 2018, 9:55 p.m.

      Compare your last line of output(The "Total Points" one) to the sample Output, you will know the reason xD


      • -4
        herro  commented on March 1, 2020, 7:12 p.m.

        Lmao printed total #of cards instead of #points!


  • -5
    Selena_Liu  commented on June 26, 2017, 9:59 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.


    • 0
      Pleedoh  commented on June 29, 2017, 6:38 p.m.

      Your code seems over complicated, just process the string letter by letter,printing out the cards and tracking points. When you encounter a new suit, as in a "D","H", or "S", print out the info you've been holding, wipe your variables, and keep going, this time on another suit.


  • -1
    susheelk  commented on Feb. 12, 2017, 7:14 p.m.

    WA Can someone take a loot at my submission? It seems right but the spacing seems to be off


    • 1
      Kirito  commented on Feb. 12, 2017, 8:16 p.m.

      You are printing pts[0] for each suit.


  • -14
    Centurion902  commented on Feb. 10, 2017, 8:31 p.m. edit 2

    This comment is hidden due to too much negative feedback. Click here to view it.


  • -9
    jpr4  commented on Jan. 5, 2017, 12:12 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.


    • 2
      Kirito  commented on Jan. 5, 2017, 1:31 p.m. edited

      The cards should be space separated.

      E.g. Diamonds 5 7 8 K A

      You also misspelled Clubs


      • -5
        JimmyDeng12345  commented on Oct. 7, 2018, 2:15 a.m.

        This comment is hidden due to too much negative feedback. Click here to view it.


      • -1
        jpr4  commented on Jan. 6, 2017, 11:41 a.m.

        Thanks


  • -7
    root  commented on Nov. 3, 2016, 4:25 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.


    • -1
      Kirito  commented on Nov. 3, 2016, 6:58 p.m.

      Declare a larger buffer, 4096 is a commonly used number.