Advertisement
nikiman8888

Icarus Exam

May 24th, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.90 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Globalization;
  5.  
  6. namespace lab2.Icarus
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.  
  13.             List<int> input = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
  14.             int damageIcarus = 1;
  15.             int startIndex = int.Parse(Console.ReadLine());
  16.            
  17.             string command = Console.ReadLine();
  18.  
  19.             while (command != "Supernova")
  20.             {
  21.                 string[] tokens = command.Split(' ');
  22.                 string direction = tokens[0];
  23.                 int steps = int.Parse(tokens[1]);
  24.  
  25.                 switch (direction)
  26.                 {
  27.                     case "left":
  28.                         for (int i = 0; i < steps; i++)
  29.                         {
  30.                             startIndex--;
  31.                             if(startIndex == -1)
  32.                             {
  33.                                 startIndex += input.Count;
  34.                                 damageIcarus++;
  35.                             }
  36.                             input[startIndex] -= damageIcarus;
  37.                         }
  38.                        
  39.                         break;
  40.                     case "right":
  41.                         for (int i = 0; i < steps; i++)
  42.                         {
  43.                             startIndex++;
  44.                             if (startIndex > input.Count -1)
  45.                             {
  46.                                 startIndex -= input.Count;
  47.                                 damageIcarus++;
  48.                             }
  49.                             input[startIndex] -= damageIcarus;
  50.                         }
  51.                         break;
  52.                 }
  53.  
  54.                 command = Console.ReadLine();
  55.             }
  56.             Console.WriteLine(String.Join(" ",input));
  57.  
  58.         }        
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement