Advertisement
desislava_topuzakova

06. Wardrobe

May 25th, 2022
655
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace _06._Wardrobe
  5. {
  6.     internal class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Dictionary<string, Dictionary<string, int>> wardrobe = new Dictionary<string, Dictionary<string, int>>();
  11.             //запис: цвят -> {дреха -> бр. срещания}
  12.             //1. цвят -> ако го няма (добавяме), ако го има:
  13.             //2. дреха -> ако няма (добавяме към съответния цвят), ако има: + 1
  14.  
  15.             int n = int.Parse(Console.ReadLine());
  16.             for (int i = 0; i < n; i++)
  17.             {
  18.                 string input = Console.ReadLine();
  19.                 //"Blue -> dress,jeans,hat".Split(" -> ") -> ["Blue", "dress,jeans,hat"]
  20.                 string color = input.Split(" -> ")[0];
  21.  
  22.                 if (!wardrobe.ContainsKey(color))
  23.                 {
  24.                     //нямаме такъв цвят
  25.                     //цвят -> празен речник за дрехите
  26.                     wardrobe.Add(color, new Dictionary<string, int>());
  27.                 }
  28.                 //имаме такъв цвят
  29.                 //взимаме дрехите от моя цвят
  30.                 Dictionary<string, int> clothes = wardrobe[color]; //дрехите от съответния цвят
  31.                 string[] inputClothes = input.Split(" -> ") //["Blue", "dress,jeans,hat"]
  32.                                         [1]                 //"dress, jeans, hat"
  33.                                         .Split(",");        //["dress", "jeans", "hat"]
  34.  
  35.                 foreach(string cloth in inputClothes)
  36.                 {
  37.                     if (!clothes.ContainsKey(cloth))
  38.                     {
  39.                         clothes.Add(cloth, 1);
  40.                     }
  41.                     else
  42.                     {
  43.                         clothes[cloth]++;
  44.                     }
  45.                 }
  46.             }
  47.  
  48.             string searchedItems = Console.ReadLine(); // "Blue dress"
  49.             string searchedColor = searchedItems.Split(" ")[0];
  50.             string searchedCloth = searchedItems.Split(" ")[1];
  51.  
  52.             foreach (var colorEntry in wardrobe)
  53.             {
  54.                 //запис за цвета:
  55.                 //key (цвят)
  56.                 //value (речник с дрехите)
  57.  
  58.                 Console.WriteLine($"{colorEntry.Key} clothes:");
  59.                 Dictionary<string, int> clothes = colorEntry.Value;
  60.                 //запис за дрехите: дреха -> бр. срещанията
  61.                 foreach (var cloth in clothes)
  62.                 {
  63.                     //запис за дреха:
  64.                     //key (име на дрехата)
  65.                     //value (бр. срещания)
  66.                     if (cloth.Key == searchedCloth && colorEntry.Key == searchedColor)
  67.                     {
  68.                         Console.WriteLine($"* {cloth.Key} - {cloth.Value} (found!)");
  69.                     }
  70.                     else
  71.                     {
  72.                         Console.WriteLine($"* {cloth.Key} - {cloth.Value}");
  73.                     }
  74.                    
  75.                 }
  76.             }
  77.         }
  78.     }
  79. }
  80.  
Advertisement
RAW Paste Data Copied
Advertisement