Проблем при една задача от Тех-модула-Hends of Cards
При решаването на тази задача(тя е решена подробно в едно от видиата от Атанас Атанасов) написах код ,който според мен работи.
Минавам единствения тест след задачата,но системата ми дава 33/100.
Каква може да е причината ?
Ето и кода :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hands_of_Cards
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, List<string>> players = new Dictionary<string, List<string>>();
Dictionary<string, int> Power = new Dictionary<string, int>();
while (true)
{
string line = Console.ReadLine();
if (line == "JOKER")
{
break;
}
string[] tokens = line.Split(':');
string playersname = tokens[0];
string[] cards = tokens[1].Trim().Split(',');
if (players.ContainsKey(playersname) == false)
{
players.Add(playersname, new List<string>());
}
players[playersname].AddRange(cards);
}
for (int i = 2; i <= 9; i++)
{
Power.Add(i.ToString(), i);
}
Power.Add("1", 10);
Power.Add("J", 11);
Power.Add("Q", 12);
Power.Add("K", 13);
Power.Add("A", 14);
Power.Add("S", 4);
Power.Add("H", 3);
Power.Add("D", 2);
Power.Add("C", 1);
foreach (var playar in players)
{
List<string> cards = playar.Value.Distinct().ToList();
int sum = 0;
foreach (string card in cards)
{
string Powercards = card[0].ToString();
string Powertype = card[card.Length - 1].ToString();
int Powercards1 = Power[Powercards];
int Powertype1 = Power[Powertype];
int total = Powercards1 * Powertype1;
sum+=total;
}
Console.WriteLine($"{playar.Key}: {sum}");
}
}
}
}
С твоя код минвам 100/100 ,но не мога да си намеря грешките.
Компилатора ми казва,че не мога да имам ключ Powertype.
Tова е променлива,която ни врьща последният символ от двойката карти,
a тези символи са добавени в речника Power.