Advertisement
Guest User

Test

a guest
May 29th, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7.  
  8. namespace ConsoleApplication1
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. var input = Console.ReadLine();
  15. var dict = new Dictionary<string, int>();
  16. var cardPower = new Dictionary<string, int>(GetCardPowers());
  17. var cardType = new Dictionary<string, int>(GetCardType());
  18.  
  19. while (input != "JOKER")
  20. {
  21. var round = Regex.Split(input, ": ");
  22. var name = round[0];
  23. var cards = new HashSet<string>(Regex.Split(round[1], ", "));
  24. var power = 0;
  25. foreach (var card in cards)
  26. {
  27. power += cardPower[card.Substring(0, card.Length - 1)] * cardType[card[card.Length-1].ToString()];
  28. }
  29.  
  30. if (!dict.ContainsKey(name))
  31. {
  32. dict.Add(name, power);
  33. }
  34. else
  35. {
  36. dict[name] += power;
  37. }
  38. input = Console.ReadLine();
  39. }
  40.  
  41. foreach (var player in dict)
  42. {
  43. Console.WriteLine($"{player.Key}: {player.Value}");
  44. }
  45.  
  46. }
  47.  
  48. static Dictionary<string, int> GetCardType()
  49. {
  50. Dictionary<string, int> cardType = new Dictionary<string, int>();
  51.  
  52. cardType.Add("S", 4);
  53. cardType.Add("H", 3);
  54. cardType.Add("D", 2);
  55. cardType.Add("C", 1);
  56.  
  57. return cardType;
  58. }
  59.  
  60. static Dictionary<string, int> GetCardPowers()
  61. {
  62. Dictionary<string, int> cardPower = new Dictionary<string, int>();
  63.  
  64. for (int i = 2; i <= 10; i++)
  65. {
  66. cardPower.Add(i.ToString(), i);
  67. }
  68. cardPower["J"] = 11;
  69. cardPower["Q"] = 12;
  70. cardPower["K"] = 13;
  71. cardPower["A"] = 14;
  72.  
  73. return cardPower;
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement