Problem 6. Wardrobe
Здравейте,
Опитвам се да реша въпросната задача, но в джъдж получавам 60/100.
Моля за насока къде греша?
Условие: https://judge.softuni.bg/Contests/Compete/Index/1466#0
Моят код: https://pastebin.com/qPXD2pdD
Здравейте,
Опитвам се да реша въпросната задача, но в джъдж получавам 60/100.
Моля за насока къде греша?
Условие: https://judge.softuni.bg/Contests/Compete/Index/1466#0
Моят код: https://pastebin.com/qPXD2pdD
Здравей,
Прилагам ти мое решение преди време при 100/100... може да изчакаш и по-добри идеи/решения от майстори...
using System;
using System.Collections.Generic;
namespace _06._Wardrobe
{
class Program
{
static void Main(string[] args)
{
var dict = new Dictionary<string, Dictionary<string, int>>();
int lines = int.Parse(Console.ReadLine());
for (int i = 0; i < lines; i++)
{
var orderArr = Console.ReadLine().Trim().Split(" -> ");
string color = orderArr[0];
var clothesArr = orderArr[1].Trim().Split(",");
if (!dict.ContainsKey(color))
{
dict.Add(color, new Dictionary<string, int>());
}
foreach (var cloth in clothesArr)
{
if (!dict[color].ContainsKey(cloth))
{
dict[color].Add(cloth, 0);
}
dict[color][cloth]++;
}
}
var searchedClothArr = Console.ReadLine().Trim().Split();
string searchedColor = searchedClothArr[0];
string searchedCloth = searchedClothArr[1];
foreach (var kvp in dict)
{
Console.WriteLine($"{kvp.Key} clothes:");
foreach (var kvp1 in kvp.Value)
{
if (kvp1.Key == searchedCloth && kvp.Key == searchedColor)
{
Console.WriteLine($"* {kvp1.Key} - {kvp1.Value} (found!)");
}
else
{
Console.WriteLine($"* {kvp1.Key} - {kvp1.Value}");
}
}
}
}
}
}
Поздрави,
Иван
Благодаря за отговора!
Гледал съм и други решения, но не ми трябва готово решение, а някой да ме насочи, къде точно греша.
Поздрави!
Пооправих ти кода да дава 100/100 ...имаше малка грешка в пълненето на речниците, основното беше в начина по който четеш инпута....проблема е, че color може да се състои от 2 думи...например небесно синьо :) .. нямаме такива входове като пример, но без този начин, по който съм го направил не дава 100/100
using System;
using System.Collections.Generic;
using System.Linq;
namespace _6._Wardrobe
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Dictionary<string, Dictionary<string, int>> wardrobe = new Dictionary<string, Dictionary<string, int>>();
for (int i = 0; i < n; i++)
{
string[] input = Console.ReadLine()
.Split(" -> ").ToArray();
string colours = input[0];
string[] allClothes = input[1].Split(",").ToArray();
for (int j = 0; j < allClothes.Length; j++)
{
if (!wardrobe.ContainsKey(colours))
{
wardrobe.Add(colours, new Dictionary<string, int>());
//wardrobe[colours].Add(input[j], 1);
}
if (!wardrobe[colours].ContainsKey(allClothes[j]))
{
wardrobe[colours].Add(allClothes[j], 0);
}
wardrobe[colours][allClothes[j]]++;
}
}
string[] searchedItem = Console.ReadLine()
.Split(" ", StringSplitOptions.RemoveEmptyEntries);
foreach (var item in wardrobe)
{
Console.WriteLine($"{item.Key} clothes:");
foreach (var items in item.Value)
{
if (item.Key == searchedItem[0] && items.Key == searchedItem[1])
{
Console.WriteLine($"* {items.Key} - {items.Value} (found!)");
continue;
}
Console.WriteLine($"* {items.Key} - {items.Value}");
}
}
}
}
}
Благодаря!
Наистина много ми помогна!