Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _15.RabbitHole
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<string> obstacles = Console.ReadLine().Split().ToList();
- var energy = int.Parse(Console.ReadLine());
- var currentIndex = 0;
- while (energy > 0)
- {
- var field = obstacles[currentIndex];
- var command = field.Split('|')[0];
- switch (command)
- {
- case "Left":
- var jump = int.Parse(field.Split('|')[1]);
- if (currentIndex - jump >= 0)
- {
- currentIndex -= jump;
- }
- else
- {
- var steps = Math.Abs(currentIndex - jump);
- currentIndex = steps % obstacles.Count;
- }
- energy -= jump;
- break;
- case "Right":
- jump = int.Parse(field.Split('|')[1]);
- currentIndex = (currentIndex + jump) % obstacles.Count;
- energy -= jump;
- break;
- case "Bomb":
- jump = int.Parse(field.Split('|')[1]);
- obstacles.RemoveAt(currentIndex);
- currentIndex = 0;
- energy -= jump;
- if (energy <= 0)
- {
- Console.WriteLine("You are dead due to bomb explosion!");
- return;
- }
- break;
- case "RabbitHole":
- Console.WriteLine("You have 5 years to save Kennedy!");
- return;
- }
- if (obstacles[obstacles.Count - 1] != "RabbitHole")
- {
- obstacles.RemoveAt(obstacles.Count - 1);
- obstacles.Add($"Bomb|{energy}");
- }
- else
- {
- obstacles.Add($"Bomb|{energy}");
- }
- }
- Console.WriteLine("You are tired. You can't continue the mission.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement