Advertisement
Spocoman

02. Santa's Gifts

Feb 11th, 2024
1,168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. namespace SantasGifts
  6. {
  7.     class Program  
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int commandNumbers = int.Parse(Console.ReadLine());
  12.  
  13.             var houses = Console.ReadLine().Split().ToList();
  14.  
  15.             int index = 0;
  16.  
  17.             for (int i = 0; i < commandNumbers; i++)
  18.             {          
  19.                 int currentIndex = index;
  20.  
  21.                 var command = Console.ReadLine().Split().ToList();
  22.  
  23.                 if (command[0] == "Forward" || command[0] == "Back")
  24.                 {
  25.                     int steps = int.Parse(command[1]);
  26.                     currentIndex += (command[0] == "Forward" ? steps : -steps);
  27.                     if(currentIndex >= 0 && currentIndex < houses.Count)
  28.                     {
  29.                         index = currentIndex;
  30.                         houses.RemoveAt(index);
  31.                     }
  32.                 }
  33.                 else if (command[0] == "Gift")
  34.                 {
  35.                     currentIndex = int.Parse(command[1]);
  36.                     if (currentIndex >= 0 && currentIndex < houses.Count)
  37.                     {
  38.                         index = currentIndex;
  39.                         houses.Insert(index, command[2]);
  40.                     }
  41.                 }
  42.                 else if (command[0] == "Swap")
  43.                 {
  44.                     int index1 = houses.IndexOf(command[1]),
  45.                         index2 = houses.IndexOf(command[2]);
  46.  
  47.                     if (index1 != -1 && index2 != -1)
  48.                     {
  49.                         string value = houses[index1];
  50.                         houses[index1] = houses[index2];
  51.                         houses[index2] = value;
  52.                     }    
  53.                 }
  54.             }
  55.  
  56.             Console.WriteLine($"Position: {index}");
  57.  
  58.             if (houses.Count() > 0)
  59.             {
  60.                 Console.WriteLine(string.Join(", ", houses));
  61.             }
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement