03. Plant Discovery -Programming Fundamentals Final Exam - 09 August 2020
Здравейте,
моля за помощ за следната задача- https://judge.softuni.bg/Contests/Practice/Index/2518#2
Разгледах доста други решения, но така и не успях да си намеря грешката. Може би направих вече около 10 опита в Judge, но моето решение е все още 50/100.
Последният тест ми показва, че аутпута ми е грешен, а на тестове 2,4 и 5- Runtime error.
https://pastebin.com/J5N7KS2j
Това ми е сортировката и поне при мен показва правилно сортирането на двата речника:
private static void PrintAndSortMetod(Dictionary<string, int> dictPlantRarity, Dictionary<string, List<double>> dictPlantRating)
{
Console.WriteLine("Plants for the exhibition: ");
var newsortedDict = new Dictionary<string, List<double>>();
foreach (var kvp in dictPlantRating.OrderByDescending(x => x.Value.Average()))
{
string plant = kvp.Key;
double averageRating = kvp.Value.Average();
int rarity = dictPlantRarity[plant];
double rarityDouble = (double)rarity;
newsortedDict[plant] = new List<double>();
newsortedDict[plant].Add(rarityDouble);
newsortedDict[plant].Add(averageRating);
}
foreach (var kvp in newsortedDict.OrderByDescending(x => x.Value[0]))
{
string plant = kvp.Key;
double rarity = kvp.Value[0];
double averageRating = kvp.Value[1];
Console.WriteLine($"- {plant}; Rarity: {rarity}; Rating: {averageRating:F2}");
}
}
}
Може би проблема ми е в Reset командата:
else if (leftPartOfCommand == "Reset")
{
if (dictPlantRating.ContainsKey(plant))
{
dictPlantRating[plant] = new List<double>();
dictPlantRating[plant].Add(0.00);
}
}