Loading...
Galin.P87 44 Точки

## [More exercises] Technologies Fundamentals C# - Dictionaries, Lambda and LINQ - Problem{1} - Ranking

Здравейте колеги,

Имам нужда от помощ. Не мога да разбера къде гърми последния тест на решението ми?

https://pastebin.com/LqA1urL8

Условието на задачата:

https://softuni.bg/downloads/svn/soft-tech/Sept-2018/CSharp/06-Dictionaries/More%20Exercise/06.%20Dictionaries-More-Exercises.docx

Тагове:
0
03/12/2018 22:23:49
Ljubo6 21 Точки

И аз се възползвах от съвета на колегата.Ето и моето решение:

https://pastebin.com/NejsvvLu

0
kalojan 9 Точки
``````using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata;
using System.Reflection.Metadata.Ecma335;
using System.Security.Cryptography.X509Certificates;
using System.Threading;

namespace Sets_and_Dictioanries
{
class Program
{
static void Main(string[] args)
{
var passwordsForContests = new Dictionary<string, string>();
var contests = new SortedDictionary<string, Dictionary<string, int>>();
var totalPoints = new Dictionary<string, int>();

var bestPoints = int.MinValue;
var bestUser = string.Empty;

while (true)
{
var input = Console.ReadLine();
if (input == "end of contests")
{
break;
}
var inputParts = input.Split(":");

var contest = inputParts[0];
var password = inputParts[1];

if (!contests.ContainsKey(contest))
{
passwordsForContests[contest] = password;
}

}

while (true)
{
var input = Console.ReadLine();
if (input == "end of submissions")
{
break;
}
var inputParts = input.Split("=>");
var contest = inputParts[0];
var password = inputParts[1];
var username = inputParts[2];
int points = int.Parse(inputParts[3]);

if (!passwordsForContests.ContainsKey(contest) || !passwordsForContests.ContainsValue(password))
{
continue;
}
else
{
if (!contests.ContainsKey(username))
{
contests[username] = new Dictionary<string, int>();
contests[username].Add(contest, points);
totalPoints.Add(username, points);

}
else
{
if (contests[username].ContainsKey(contest))
{
if (contests[username][contest] < points)
{
contests[username][contest] = points;
totalPoints[username] += points;
}
}
else if (!contests[username].ContainsKey(contest))
{
contests[username].Add(contest, points);
totalPoints[username] += points;
}
}
}
}

foreach (var points in totalPoints)
{
if (bestPoints < points.Value)
{
bestPoints = points.Value;
bestUser = points.Key;
}
}

Console.WriteLine(\$"Best candidate is {bestUser} with total {bestPoints} points.\nRanking:");

foreach (var user in contests)
{
Console.WriteLine(user.Key);
foreach (var contest in user.Value.OrderByDescending(x=>x.Value))
{
Console.WriteLine(\$"#  {contest.Key} -> {contest.Value}");
}
}

}
}
}``````

Цял ден си блъсках главата и все 60/100. Малко помощ?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.