Problem Statement
John and Brus are training for a card game tournament. During his off-time, Brus likes to occupy himself with the following game. The game is played with a subset of a standard deck of 52 distinct cards. Each card can be represented by a two-character string, where the first character is the rank ('2'-'9', 'T', 'J', 'Q', 'K', or 'A') and the second character is the suit ('S' for Spades, 'C' for Clubs, 'D' for Diamonds or 'H' for Hearts). All Spades and Clubs are black, and all Diamonds and Hearts are red. For example, the Jack of Spades is black and is represented as "JS", and the Nine of Hearts is red and is represented as "9H".
You are given a
Definition
- Class:
- TheCardLineDivTwo
- Method:
- count
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int count(String[] cards)
- (be sure your method is public)
Constraints
- cards will contain between 1 and 16 elements, inclusive.
- Each element of cards will contain exactly two characters, where the first character is '2'-'9', 'T', 'J', 'Q', 'K' or 'A', and the second character is 'S', 'C', 'D' or 'H'.
- All elements of cards will be distinct.
Examples
{"KH", "QD", "KC"}
Returns: 2
There are two possible placements - KC-KH-QD and QD-KH-KC.
{"JS", "JC", "JD", "JH"}
Returns: 24
All 24 permutations are valid.
{"2S", "3C", "4C", "5S", "6C", "7S", "8S", "9H"}
Returns: 0
There is nothing we can do with the Nine of Hearts.
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS"}
Returns: 2416
{"8S"}
Returns: 1
{"2S", "TS", "QS", "TD", "7S"}
Returns: 12
{"2D", "4S", "2S", "2H", "TC"}
Returns: 8
{"7S", "9S", "JS", "JD", "TS", "2H", "6D", "2D"}
Returns: 72
{"KS", "TS", "QC"}
Returns: 6
{"6S", "5D", "5H", "7S", "TD", "KC", "3C", "3S", "8D", "5S"}
Returns: 2880
{"3S", "KC", "AS", "7C", "TC", "9C", "4H", "4S", "2S"}
Returns: 10080
{"KH", "JS", "KS", "2S", "3S", "TS", "2D", "8S", "2H", "4S", "TC"}
Returns: 89280
{"6C", "9S", "QD"}
Returns: 0
{"QD", "3S", "9S", "4C", "6H", "5S", "5C", "KD", "AD", "6S", "7S", "JS", "9D", "9C", "2H", "8S"}
Returns: 319334400
{"5S", "7S", "3H", "TS", "2C", "2S", "6H", "KS", "AS", "4D", "8S"}
Returns: 0
{"9H", "QS", "JH", "2S", "2D", "8H", "QH", "TS", "KS"}
Returns: 744
{"AS", "8S", "3S", "5H", "2S", "9S", "QS", "4S", "QH", "8C", "TS", "8H", "9H", "2D", "6S", "8D"}
Returns: 191757869
{"4S", "AD", "JS", "7S", "6S"}
Returns: 0
{"TD", "AS", "8C", "2H", "9S", "QD", "6D", "AC", "QC", "4S", "QS", "2S", "3S", "2C", "JH", "6C"}
Returns: 296946989
{"2S", "TC", "8D", "9D", "8S", "AH", "3S", "6S", "TS"}
Returns: 480
{"TS", "9D", "AD", "2S", "6D", "2H", "KH", "JS", "TH", "8D", "7S", "JD", "6S", "7C", "2D", "5S"}
Returns: 508654080
{"5S", "AS", "9S", "4D", "3H", "2S", "2D", "3D", "2H", "7C", "JD", "9C", "5D", "TS", "8S", "6C"}
Returns: 210470400
{"TS", "6S", "AD", "KD", "4D", "9C", "TC", "3H", "2H", "9D", "5C", "5S", "4C", "2D", "7S", "8S"}
Returns: 133056000
{"7S", "QC", "KD", "JH", "6S", "8S", "4D", "4S", "TD", "KH", "5S", "3S", "3C", "TS", "QH", "8C"}
Returns: 354170880
{"JD", "6D", "JS", "QH", "QS", "KS", "TC", "3S", "9S", "3H", "4S", "7D", "JH", "7S", "AS", "2C"}
Returns: 785998080
{"TS", "5S", "TC", "7C", "6S", "2C", "9S", "JS", "QS", "KC", "7S", "2S", "8S", "AS", "AC", "4S"}
Returns: 567839223
{"KC", "3S", "KS", "9S", "9C", "5C", "6S", "2S", "7C", "2C", "AS", "JS", "6C", "5S", "8S", "7S"}
Returns: 567839223
{"QS", "9S", "AS", "6S", "8S", "4C", "KS", "3S", "2S", "TS"}
Returns: 3628800
{"5S", "AS", "6S", "8S", "QS", "KS", "7S", "JS", "9S", "2S", "4S", "AC"}
Returns: 479001600
{"JC", "5S", "8S", "AC", "QS", "JS", "4S", "9S", "6S", "AS", "KS", "8C", "2S", "QC", "9C"}
Returns: 266971431
{"9D", "8D", "QD", "7H", "9H", "4H", "3D", "TD", "KD", "JD", "AH", "4D", "7D", "5D", "KH", "6D"}
Returns: 567839223
{"7D", "8D", "JD", "3D", "TD", "KH", "4D", "AD", "7H", "6H", "2H", "KD", "9D", "3H", "6D", "5H"}
Returns: 567839223
{"9D", "5D", "TD", "AD", "7D", "AH", "8D", "3D", "6D", "7H", "QD", "3H", "2D", "KD"}
Returns: 758538830
{"9C", "8C", "QC", "7D", "9D", "4D", "3C", "TC", "KC", "JC", "AD", "4C", "7C", "5C", "KD", "6C"}
Returns: 1178634240
{"4C", "TC", "6D", "2D", "TD", "8C", "6C", "7D", "9C", "5C", "5D", "2C", "3D", "3C", "KC", "JC"}
Returns: 846115200
{"3D", "JC", "9D", "8C", "QC", "TD", "2C", "QD", "3C", "4D", "KC", "9C", "KD", "7C", "JD", "TC"}
Returns: 791510400
{"6C", "7C", "2C", "3C", "4C", "KD", "JC", "AD", "9C", "8C", "AC", "4D", "QC", "KC", "2D", "5C"}
Returns: 1066766938
{"QD", "QH", "9H", "JD", "9S", "9D", "QS", "TH", "9C", "JS", "JC", "TS"}
Returns: 1298336
{"JD", "TD", "9H", "9D", "9S", "QC", "9C", "JS", "TH", "JC"}
Returns: 17056
{"JD", "QS", "TS", "QD", "JH", "9S", "9D"}
Returns: 68
{"9C", "QS", "9S", "JH", "JS", "9D", "TS", "QD", "TH", "JD", "QC", "TD", "9H", "TC", "QH"}
Returns: 938204160
{"9H", "QS", "9S", "TS", "9C"}
Returns: 36
{"4D", "4S", "5H", "5S", "3H", "2D", "3D", "6C", "5C", "6S", "5D", "4H", "6D", "4C", "6H", "3S"}
Returns: 270010849
{"4D", "5S", "6D", "9S", "8C", "9C", "TS", "9D", "6S", "6H", "8S", "7C", "TD", "4S", "4H", "5D"}
Returns: 102691373
{"7H", "8D", "8S", "TS", "9H", "4S", "4D", "4C", "6C", "4H", "9C", "7D", "5D", "9S", "TD", "6S"}
Returns: 1055794176
{"QH", "JS", "9D", "AD", "QC", "6C", "KS", "KC", "9S", "9C", "8S", "AS", "8H", "9H", "QS", "7S"}
Returns: 531831687
{"TD", "QS", "6H", "7H", "KD", "9H", "TS", "QH", "9D", "8D", "6D", "AS", "8S", "9S", "TC", "JS"}
Returns: 695197440
{"2S", "2C", "3S", "3C", "4S", "4C", "5S", "5C", "6S", "6C", "7S", "7C", "8S", "8C", "9S", "9C"}
Returns: 567839223
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS" }
Returns: 2416
{"JD", "QD", "KD", "AD", "JS", "QS", "KS", "AS", "JH", "QH", "KH", "AH", "JC", "QC", "KC", "AC" }
Returns: 759168059
{"2H", "3H", "4H", "5H", "6H", "7H", "9H", "8H", "TH", "JH", "AH", "KH", "QH" }
Returns: 54181345
{"2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "TH", "JH", "QH", "KH", "AH", "2D", "3D", "4D" }
Returns: 567839223
{"AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "KS", "AC", "AD", "AH", "3D", "3H" }
Returns: 536739840
{"AD", "AH", "AC", "AS", "2D", "2H", "2C", "2S", "3H", "3S", "3D", "3C", "4H", "4D", "4S", "4C" }
Returns: 759168059
{"2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "8H", "9H", "2H", "3H", "4H", "5H", "6H" }
Returns: 266971431
{"AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "TH", "JH", "QH", "KH", "AD", "2D", "3D" }
Returns: 567839223
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "9H", "9S", "4C", "4D", "9D", "3D" }
Returns: 392089344
{"AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "TD", "JD", "QD", "KD", "AH", "2H", "3H" }
Returns: 567839223
{"2S", "2C", "2H", "2D", "3S", "3C", "3H", "3D", "4S", "4C", "4H", "4D", "5S", "5D", "5H", "5C" }
Returns: 759168059
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "2C", "3C", "4C", "5D", "2D", "5S", "7S" }
Returns: 334628909
{"2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "TS", "JS", "QS", "KS", "AS" }
Returns: 54181345
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "2S", "9S", "9D", "7H", "KS", "3H" }
Returns: 180149952
{"2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S" }
Returns: 567839223
{"QS", "8C", "AC", "6C", "AS", "7S", "4H", "AH", "QC", "6D", "KS", "4S", "7D", "6H", "QD", "8D" }
Returns: 652092461
{"TH", "6C", "QH", "6D", "JH", "7D", "6S", "6H", "KH", "4H", "9H", "4S", "7H", "8H", "7S", "4D" }
Returns: 345121730
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "8C", "2D", "3C", "5S", "6D", "9S" }
Returns: 58492800
{"2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C" }
Returns: 131231789
{"2S", "3S", "4S", "6S", "5S", "7S", "8S", "9S", "TS", "JS", "QS", "KS", "AS", "AC", "AD", "AH" }
Returns: 225355885
{"2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "TS", "JS", "QS", "KS", "AS", "2C", "3C", "4C" }
Returns: 567839223
{"2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C" }
Returns: 567839223
{"2S", "3D", "4H", "5S", "6C", "7D", "8H", "9H", "9S", "3H", "4D", "6D", "6S", "7S", "6H", "5H" }
Returns: 191757869
{"2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D" }
Returns: 567839223
{"JS", "JC", "JD", "JH", "AH", "KH", "QH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "TH" }
Returns: 225355885
{"2C", "3C", "4C", "5C", "6C", "7C", "8C", "2D", "3D", "4D", "5D", "7D", "8D", "9D", "TD", "JD" }
Returns: 791510400
{"2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "2H", "3H", "4H", "5H", "6H", "7H", "8H" }
Returns: 266971431
{"2S", "2C", "2D", "2H", "3S", "3C", "3D", "3H", "4S", "4D", "4C", "4H", "5S", "5C", "5D", "7H" }
Returns: 529518260
{"2S", "2C", "2H", "2D", "3S", "3C", "3H", "3D", "4S", "4C", "4H", "4D", "5S", "5C", "5H", "5D" }
Returns: 759168059
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "2C", "2D", "3D", "4D", "5D", "7D", "8D" }
Returns: 334628909
{"2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "AC", "KC", "QC", "JC", "QH", "QD", "QS", "KS" }
Returns: 225355885
{"2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "TD", "JD", "QD", "KD", "AD", "2H", "3H", "4H" }
Returns: 567839223
{"KD", "KC", "7C", "AH", "9C", "4H", "4S", "AS", "4C", "QD", "QC", "QH", "AD", "JH", "JS" }
Returns: 180149952
{"KD", "QC", "AD", "AH", "4H", "8D", "9C", "3D", "9S", "5S", "8S", "KC", "2S", "4D", "8H", "9H" }
Returns: 472780800
{"2C", "2S", "2H", "2D", "3C", "3S", "3H", "3D", "4C", "4S", "4H", "4D", "5C", "5S", "5H", "5D" }
Returns: 759168059
{"7S", "7D", "7C", "9S", "9D", "9H" }
Returns: 80
{"2S", "2C", "2H", "2D", "AS", "AC", "AH", "AD", "KS", "KC", "KH", "KD", "9S", "9C", "9H", "9D" }
Returns: 759168059
{"2S", "3C", "4C", "5S", "6C", "7S", "8S", "9H", "TS", "TD", "TC", "TH", "QS", "QH", "QD" }
Returns: 195390720
{"2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "TD", "JD", "QD", "KD", "AD", "2C", "3C", "4C" }
Returns: 938056763
{"KD", "KC", "AD", "7C", "AH", "9C", "4H", "4S", "AS", "KH", "KS", "2H", "2S", "2D", "2C", "3H" }
Returns: 1178061101
{"JS", "2S", "3S", "4S", "7S", "8S", "5S", "9S", "TS", "2C", "3C", "4C", "5C", "6C", "7C", "8C" }
Returns: 567839223
{"2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "TS", "JS", "QS", "KS", "AS", "3C", "5C", "4C" }
Returns: 567839223
{"2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "TS", "JS", "KS", "QS", "AS", "2C", "3C", "4C" }
Returns: 567839223
{"KH", "QD", "KC", "AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "TS", "JS", "QS", "KS" }
Returns: 670122577
{"KS", "KC", "KD", "KH", "QS", "QD", "QC", "QH", "9S", "9C", "8H", "8S", "8C", "8D", "AS", "AD" }
Returns: 1143663495