Advertisement
Spocoman

02. Treasure Hunt

Nov 11th, 2023
674
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace TreasureHunt
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             var chest = Console.ReadLine().Split('|').ToList();
  12.             string command;
  13.  
  14.             while ((command = Console.ReadLine()) != "Yohoho!")
  15.             {
  16.                 var tokens = command.Split(' ').ToList();
  17.                 command = tokens[0];
  18.                 if (command == "Loot")
  19.                 {
  20.                     for (int i = 1; i < tokens.Count; i++)
  21.                     {
  22.                         if (!chest.Contains(tokens[i]))
  23.                         {
  24.                             chest.Insert(0, tokens[i]);
  25.                         }
  26.                     }
  27.                 }
  28.                 else if (command == "Drop")
  29.                 {
  30.                     int index = int.Parse(tokens[1]);
  31.                     if (index >= 0 && index < chest.Count)
  32.                     {
  33.                         chest.Add(chest[index]);
  34.                         chest.RemoveAt(index);
  35.                     }
  36.                 }
  37.                 else if (command == "Steal")
  38.                 {
  39.                     int count = int.Parse(tokens[1]);
  40.                     if (count >= chest.Count)
  41.                     {
  42.                         count = chest.Count;
  43.                     }
  44.                     Console.WriteLine(String.Join(", ", chest.GetRange(chest.Count - count, count)));
  45.                     chest.RemoveRange(chest.Count - count, count);
  46.                 }
  47.             }
  48.  
  49.             if (chest.Count == 0)
  50.             {
  51.                 Console.WriteLine("Failed treasure hunt.");
  52.             }
  53.             else
  54.             {
  55.                 double averageGain = (double)String.Join("", chest).Length / chest.Count;
  56.                 Console.WriteLine($"Average treasure gain: {averageGain:f2} pirate credits.");
  57.             }
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement