Advertisement
elena1234

LadyBugs

Sep 22nd, 2020 (edited)
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.69 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ladyBugs
  6. {
  7.     class MainClass
  8.     {
  9.         public static void Main(string[] args)
  10.         {
  11.             int fieldSize = int.Parse(Console.ReadLine());
  12.             int[] field = new int[fieldSize];
  13.             int[] IndexesWeHaveLadybugs = Console.ReadLine().Split().Select(int.Parse).ToArray();
  14.  
  15.             for (int i = 0; i < IndexesWeHaveLadybugs.Length; i++)
  16.             {
  17.                 if(IndexesWeHaveLadybugs[i] >= 0 && IndexesWeHaveLadybugs[i] <= fieldSize - 1) // cheker if indexes are in the field
  18.                 {
  19.                     int currentField = IndexesWeHaveLadybugs[i];
  20.                     field[currentField] = 1; // we  have ladybug on current index in the field
  21.                 }
  22.             }
  23.  
  24.             string command = string.Empty;
  25.  
  26.             while((command=Console.ReadLine()) != "end")
  27.             {
  28.                 string[] commandArray = command.Split();
  29.                 int startIndex = int.Parse(commandArray[0]);
  30.                 string direction = commandArray[1];
  31.                 int flyLength = int.Parse(commandArray[2]);
  32.  
  33.                 if(startIndex>=0 && startIndex<=fieldSize-1 && field[startIndex]== 1)
  34.                 {
  35.                     field[startIndex] = 0; // we have fly and ladybug is in the air
  36.  
  37.  
  38.                     if (direction == "right")
  39.                     {
  40.                         int landIndex = startIndex + flyLength;
  41.                         if (landIndex >= fieldSize)
  42.                         {
  43.                             continue;
  44.                         }
  45.  
  46.                         if (field[landIndex] == 1)  // we have another ladybug on this landIndex
  47.                         {
  48.                             while (field[landIndex] == 1) // we have to found landIndex without another ladybug
  49.                             {
  50.                                 landIndex = landIndex + flyLength;
  51.                                 if (landIndex >= fieldSize) // we have landIndex out of range
  52.                                 {
  53.                                     break;
  54.                                 }
  55.                             }
  56.                         }
  57.  
  58.                         if (landIndex < fieldSize)
  59.                         {
  60.                             field[landIndex] = 1; // ladybug is land on this index
  61.                         }
  62.  
  63.                     }
  64.  
  65.                     else if (direction == "left")
  66.                     {
  67.                         int landIndex = startIndex - flyLength;
  68.  
  69.                         if (landIndex < 0)
  70.                         {
  71.                             continue;
  72.                         }
  73.  
  74.                         if (field[landIndex] == 1)  // we have another ladybug on this landIndex
  75.                         {
  76.                             while (field[landIndex] == 1) // we have to found landIndex without another ladybug
  77.                             {
  78.                                 landIndex = landIndex - flyLength;
  79.                                 if (landIndex < 0) // we have landIndex out of range
  80.                                 {
  81.                                     break;
  82.                                 }
  83.                             }
  84.                         }
  85.  
  86.                         if (landIndex >= 0)
  87.                         {
  88.                             field[landIndex] = 1; // ladybug is land on this index
  89.                         }
  90.                     }
  91.                 }
  92.  
  93.                 else
  94.                 {
  95.                     continue;
  96.                 }
  97.  
  98.             }
  99.  
  100.             Console.WriteLine(string.Join(" ", field));
  101.         }
  102.       }
  103.     }
  104.  
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement