Guest User

Last Stop

a guest
Jun 28th, 2019
410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LecturePractice
  6. {
  7. public class Program
  8. {
  9.  
  10. public static void Main()
  11. {
  12. List<int> paintingNumbers = Console.ReadLine()
  13. .Split()
  14. .Select(int.Parse)
  15. .ToList();
  16. string input = Console.ReadLine();
  17. while (input != "END")
  18. {
  19. string[] tokens = input.Split();
  20. switch (tokens[0])
  21. {
  22. case "Change":
  23. int paintingNumber = int.Parse(tokens[1]);
  24. int changedNumber = int.Parse(tokens[2]);
  25. if (paintingNumbers.Contains(paintingNumber))
  26. {
  27. int indexOfPaiting = paintingNumbers.IndexOf(paintingNumber);
  28. paintingNumbers.RemoveAt(indexOfPaiting);
  29. paintingNumbers.Insert(indexOfPaiting, changedNumber);
  30. }
  31. break;
  32. case "Hide":
  33. int numberToHide = int.Parse(tokens[1]);
  34. if (paintingNumbers.Contains(numberToHide))
  35. {
  36. paintingNumbers.Remove(numberToHide);
  37. }
  38.  
  39. break;
  40. case "Switch":
  41. int firstNum = int.Parse(tokens[1]);
  42. int secondNum = int.Parse(tokens[2]);
  43. if (paintingNumbers.Contains(firstNum) && paintingNumbers.Contains(secondNum))
  44. {
  45. int indexOfFirst = paintingNumbers.IndexOf(firstNum);
  46. int indexOfSecond = paintingNumbers.IndexOf(secondNum);
  47. paintingNumbers[indexOfFirst] = secondNum;
  48. paintingNumbers[indexOfSecond] = firstNum;
  49. }
  50. break;
  51. case "Insert":
  52. int place = (int.Parse(tokens[1]) + 1);
  53. int pNum = int.Parse(tokens[2]);
  54. if (paintingNumbers.Count > place && place > -1)
  55. {
  56. paintingNumbers.Insert(place, pNum);
  57.  
  58. }
  59. break;
  60. case "Reverse":
  61. paintingNumbers.Reverse();
  62. break;
  63. default:
  64. break;
  65. }
  66. input = Console.ReadLine();
  67.  
  68. }
  69. Console.WriteLine(string.Join(" ", paintingNumbers));
  70. }
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment