Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _05.SpeedRacing
- {
- public class SpeedRacing
- {
- public static void Main(string[] args)
- {
- List<Car> cars = new List<Car>();
- int lines = int.Parse(Console.ReadLine());
- for (int i = 0; i < lines; i++)
- {
- string[] tokens = Console.ReadLine()
- .Split(new char[] {' ', '\t', '\n'}, StringSplitOptions.RemoveEmptyEntries);
- string model = tokens[0];
- double fuel = double.Parse(tokens[1]);
- double perKm = double.Parse(tokens[2]);
- cars.Add(new Car(model, fuel, perKm));
- }
- string inputLine = Console.ReadLine();
- while (inputLine != "End")
- {
- string[] tokens = inputLine
- .Split(new char[] { ' ', '\t', '\n' }, StringSplitOptions.RemoveEmptyEntries);
- string model = tokens[1];
- int distance = int.Parse(tokens[2]);
- foreach (var car in cars)
- {
- if (car.model == model)
- {
- car.Drive(distance);
- }
- }
- inputLine = Console.ReadLine();
- }
- foreach (var car in cars)
- {
- Console.WriteLine("{0} {1:F2} {2}",
- car.model, car.fuelAmount, car.distanceTraveled);
- }
- }
- }
- public class Car
- {
- public string model;
- public double fuelAmount;
- public double fuelPerKm;
- public int distanceTraveled;
- public Car(string model, double fuelAmount, double fuelPerKm)
- {
- this.model = model;
- this.fuelAmount = fuelAmount;
- this.fuelPerKm = fuelPerKm;
- distanceTraveled = 0;
- }
- public void Drive(int distance)
- {
- if (distance * fuelPerKm <= fuelAmount)
- {
- distanceTraveled += distance;
- fuelAmount -= distance*fuelPerKm;
- }
- else
- {
- Console.WriteLine("Insufficient fuel for the drive");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement