Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- namespace _08.Hands_of_Cards
- {
- class Program
- {
- static void Main(string[] args)
- {
- var input = Console.ReadLine();
- var dict = new Dictionary<string,int>();
- var cardPower = new Dictionary<string,int>(GetCardPowers());
- var cardType = new Dictionary<string, int>(GetCardType());
- while (input != "JOKER")
- {
- var round = Regex.Split(input, ": ");
- var name = round[0];
- var cards = new HashSet<string>(Regex.Split(round[1], ", "));
- var power = 0;
- foreach (var card in cards)
- {
- power += cardPower[card[0].ToString()] * cardType[card[1].ToString()];
- }
- if (!dict.ContainsKey(name))
- {
- dict.Add(name,power);
- }
- else
- {
- dict[name]+= power;
- }
- input = Console.ReadLine();
- }
- foreach (var player in dict)
- {
- Console.WriteLine($"{player.Key}: {player.Value}");
- }
- }
- static Dictionary<string, int> GetCardType()
- {
- Dictionary<string,int> cardType = new Dictionary<string, int>();
- cardType.Add("S", 4);
- cardType.Add("H", 3);
- cardType.Add("D", 2);
- cardType.Add("C", 1);
- return cardType;
- }
- static Dictionary<string, int> GetCardPowers()
- {
- Dictionary<string, int> cardPower = new Dictionary<string, int>();
- for (int i = 2; i <= 10; i++)
- {
- cardPower.Add(i.ToString(),i);
- }
- cardPower["J"] = 11;
- cardPower["Q"] = 12;
- cardPower["K"] = 13;
- cardPower["A"] = 14;
- return cardPower;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement