Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Collections.Generic;
- using System.Text.RegularExpressions;
- using System.Text;
- namespace apps
- {
- class Program
- {
- static void Main()
- {
- string[] AreasOfWhiteTiles = Console.ReadLine().Split(' ').ToArray();
- string[] AreasOfGrayTiles = Console.ReadLine().Split(' ').ToArray();
- //Console.WriteLine("---------------------------------------");
- int loops = 0;
- List<int> White_Tiles = new List<int>();
- List<int> Gray_Tiles = new List<int>();
- Dictionary<string, int> Tile_Categories = new Dictionary<string, int>();
- Tile_Categories.Add("Floor", 0);
- Tile_Categories.Add("Countertop", 0);
- Tile_Categories.Add("Oven", 0);
- Tile_Categories.Add("Sink", 0);
- Tile_Categories.Add("Wall", 0);
- foreach (string AreaOfWhiteTile in AreasOfWhiteTiles) { White_Tiles.Add(int.Parse(AreaOfWhiteTile)); }
- foreach (string AreaOfGrayTile in AreasOfGrayTiles) { Gray_Tiles.Add(int.Parse(AreaOfGrayTile)); }
- List<int> FormedTiles = new List<int>();
- //=================================================================================================
- //=================================================================================================
- while (true)
- {
- //Console.WriteLine(String.Join(", ", White_Tiles));
- // Console.WriteLine(String.Join(", ", Gray_Tiles));
- int LastElementOfWhites = White_Tiles[White_Tiles.Count-1];
- int FirstElementOfGrays = Gray_Tiles[0];
- int FirstIndexOfWhite = White_Tiles.Count-1;
- int LastIndexOfGray = 0;
- White_Tiles.RemoveAt(FirstIndexOfWhite); Gray_Tiles.RemoveAt(LastIndexOfGray);
- int WhitePlusGrayTiles = LastElementOfWhites + FirstElementOfGrays;
- // Console.WriteLine($"{LastElementOfWhites} + {FirstElementOfGrays} = {WhitePlusGrayTiles}");
- switch (WhitePlusGrayTiles)
- {
- case 40: Tile_Categories["Sink"]++; FormedTiles.Add(WhitePlusGrayTiles); break;
- case 50: Tile_Categories["Oven"]++; ; FormedTiles.Add(WhitePlusGrayTiles); break;
- case 60: Tile_Categories["Countertop"]++; FormedTiles.Add(WhitePlusGrayTiles); break;
- case 70: Tile_Categories["Wall"]++; FormedTiles.Add(WhitePlusGrayTiles); break;
- default:
- if (LastElementOfWhites == FirstElementOfGrays)
- {
- Tile_Categories["Floor"]++; FormedTiles.Add(WhitePlusGrayTiles);
- }
- else
- {
- Gray_Tiles.Add(FirstElementOfGrays);
- int halfOfWhite = LastElementOfWhites /2;
- White_Tiles.Add(halfOfWhite);
- }
- break;
- }
- if (White_Tiles.Count == 0 || Gray_Tiles.Count == 0) { break; }
- // loops++;
- // if (loops > 10) { break; }
- }
- string whiteLeft = string.Empty;
- string grayLeft = string.Empty;
- if (White_Tiles.Count > 0)
- {
- whiteLeft = string.Join(", ", White_Tiles);
- }
- else
- {
- whiteLeft = "none";
- }
- if (Gray_Tiles.Count > 0)
- {
- grayLeft = string.Join(", ", Gray_Tiles);
- }
- else
- {
- grayLeft = "none";
- }
- Console.WriteLine($"White tiles left: {whiteLeft}");
- Console.WriteLine($"Grey tiles left: {grayLeft}");
- foreach (var v in Tile_Categories)
- {
- if (v.Value > 0)
- {
- Console.WriteLine($"{v.Key}: {v.Value}");
- }
- }
- //Console.WriteLine($"Formed tiles: {string.Join(" ",FormedTiles )}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement