SHARE
TWEET

Untitled

a guest May 19th, 2019 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. namespace _10Crossroads
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.  
  6.     class StartUp
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Queue<string> queueOfCars = new Queue<string>();
  11.  
  12.             int greenLightDuration = int.Parse(Console.ReadLine());
  13.             int freeWindowDuration = int.Parse(Console.ReadLine());
  14.  
  15.             string input = string.Empty;
  16.  
  17.             bool isHitted = false;
  18.             string hittedCarName = string.Empty;
  19.             char hittedSymbol = '\0';
  20.             int totalCarsCounter = 0;
  21.  
  22.             while ((input = Console.ReadLine()) != "END")
  23.             {
  24.                 if (input != "green")
  25.                 {
  26.                     queueOfCars.Enqueue(input);
  27.                     continue;
  28.                 }
  29.  
  30.                 int currentGreenLightDuration = greenLightDuration;
  31.                 while (currentGreenLightDuration > 0 && queueOfCars.Count > 0)
  32.                 {
  33.                     string carName = queueOfCars.Dequeue();
  34.                     int carLenght = carName.Length;
  35.  
  36.                     if (currentGreenLightDuration - carLenght >= 0)
  37.                     {
  38.                         currentGreenLightDuration -= carLenght;
  39.                         totalCarsCounter++;
  40.                     }
  41.                     else
  42.                     {
  43.                         currentGreenLightDuration += freeWindowDuration;
  44.  
  45.                         if (currentGreenLightDuration - carLenght >= 0)
  46.                         {
  47.                             totalCarsCounter++;
  48.                             break;
  49.                         }
  50.                         else
  51.                         {
  52.                             isHitted = true;
  53.                             hittedCarName = carName;
  54.                             hittedSymbol = carName[currentGreenLightDuration];
  55.                             break;
  56.                         }
  57.                     }
  58.                 }
  59.             }
  60.  
  61.             if (isHitted)
  62.             {
  63.                 Console.WriteLine("A crash happened!");
  64.                 Console.WriteLine($"{hittedCarName} was hit at {hittedSymbol}.");
  65.             }
  66.             else
  67.             {
  68.                 Console.WriteLine("Everyone is safe.");
  69.                 Console.WriteLine($"{totalCarsCounter} total cars passed the crossroads.");
  70.             }
  71.         }
  72.     }
  73. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top