shady_obeyd

07.SpeedRacing

Feb 15th, 2018
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. class SpeedRacing
  5. {
  6.     static void Main()
  7.     {
  8.         List<Car> cars = new List<Car>();
  9.  
  10.         int n = int.Parse(Console.ReadLine());
  11.  
  12.         for (int i = 0; i < n; i++)
  13.         {
  14.             string[] carTokens = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
  15.  
  16.             string carModel = carTokens[0];
  17.             decimal fuelQuantity = decimal.Parse(carTokens[1]);
  18.             decimal consumptionPerKm = decimal.Parse(carTokens[2]);
  19.  
  20.             Car car = new Car();
  21.  
  22.             car.Model = carModel;
  23.             car.FuelAmount = fuelQuantity;
  24.             car.FuelConsumptionPerKm = consumptionPerKm;
  25.             car.DistanceTraveled = 0;
  26.  
  27.             cars.Add(car);
  28.         }
  29.  
  30.         string input = Console.ReadLine();
  31.  
  32.         while (input != "End")
  33.         {
  34.             string[] inputTokens = input.Split(' ', StringSplitOptions.RemoveEmptyEntries);
  35.  
  36.             string carModel = inputTokens[1];
  37.             decimal desiredDistance = decimal.Parse(inputTokens[2]);
  38.  
  39.             Car currentCar = cars.Find(c => c.Model == carModel);
  40.  
  41.             if (currentCar.CanTravel(desiredDistance, currentCar.FuelAmount, currentCar.FuelConsumptionPerKm, currentCar.DistanceTraveled))
  42.             {
  43.                 currentCar.FuelAmount -= (currentCar.FuelConsumptionPerKm * desiredDistance);
  44.                 currentCar.DistanceTraveled += desiredDistance;
  45.             }
  46.             else
  47.             {
  48.                 Console.WriteLine("Insufficient fuel for the drive");
  49.             }
  50.  
  51.             input = Console.ReadLine();
  52.         }
  53.  
  54.         foreach (Car car in cars)
  55.         {
  56.             Console.WriteLine($"{car.Model} {car.FuelAmount:f2} {car.DistanceTraveled}");
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment