poker spoj solve

poker spoj solve

Berikut adalah kode program dalam bahasa Indonesia yang dapat membantu Anda memainkan poker dan mengetahui tipe tangan yang Anda miliki:

# Define the suits and ranks
suits = ['S', 'H', 'D', 'C']
ranks = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']

# Function to determine the type of hand
def determine_hand(hand):
 # Check for royal flush
 if all(card[0] in ['K', 'Q', 'J', 'T', 'A'] and card[1] == suits[0] for card in hand):
 return "royal flush"
 
 # Check for straight flush
 elif len(set([card[1] for card in hand])) == 1:
 return "straight flush" if sorted([ranks.index(card[0]) for card in hand]) in [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14]] else "flush"
 
 # Check for four of a kind
 elif len(set([card[0] for card in hand])) == 1:
 return "four of a kind"
 
 # Check for full house
 elif len(set([card[0] for card in hand])) == 2:
 return "full house"
 
 # Check for flush
 elif len(set([card[1] for card in hand])) == 1:
 return "flush"
 
 # Check for straight
 elif sorted([ranks.index(card[0]) for card in hand]) in [[0, 1, 2, 3, 4], [10, 11, 12, 13, 14]]:
 return "straight"
 
 # Check for three of a kind
 elif len(set([card[0] for card in hand])) == 3:
 return "three of a kind"
 
 # Check for two pairs
 elif len(set([card[0] for card in hand])) == 2:
 return "two pairs"
 
 # Check for pair
 elif len(set([card[0] for card in hand])) > 3:
 return "pair"
 
 # If none of the above, it's high card
 else:
 return "high card"

# Read input and print output
N = int(input())
for _ in range(N):
 hand = [input().split() for _ in range(5)]
 print(determine_hand(hand))

Kode di atas akan membaca input dari pengguna, yaitu tipe-tipe kartu poker yang dipisahkan oleh spasi. Kemudian, ia akan menghitung tipe tangan yang terbaik berdasarkan aturan poker yang didefinisikan sebelumnya. Hasilnya akan dicetak ke layar sebagai output.

Leave a comment