static void Main(string[] args) { int count = int.Parse(Console.ReadLine()); Car[] cars = new Car[count]; for(int i=0; i<count; i++) { string input = Console.ReadLine(); string[] tokens = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries); string model = tokens[0]; decimal fuelAmmount = decimal.Parse(tokens[1]); decimal fuelCost = decimal.Parse(tokens[2]); cars[i] = new Car(model, fuelAmmount, fuelCost); } string command = Console.ReadLine(); while(command != "End") { string[] tokens = command.Split(new char[0], StringSplitOptions.RemoveEmptyEntries); string model = tokens[1]; decimal distance = decimal.Parse(tokens[2]); cars.Where(c => c.model == model).ToList().ForEach(c => c.Drive(distance)); command = Console.ReadLine(); } foreach(Car car in cars) { Console.WriteLine("{0} {1:F2} {2}", car.model, car.fuelAmmount, car.distanceTravelled); } }
static void Main(string[] args) { Dictionary<string, Car> cars = new Dictionary<string, Car>(); int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { var input = Console.ReadLine().Split().ToArray(); cars[input[0]] = new Car(double.Parse(input[1]), double.Parse(input[2])); } var drive = Console.ReadLine(); while (drive != "End") { var arguments = drive.Split(); var car = cars[arguments[1]]; var driveFuel = car.Drive(car.FuelCostPerKm, long.Parse(arguments[2])); if (car.FuelAmount - driveFuel < 0) { Console.WriteLine("Insufficient fuel for the drive"); } else { car.FuelAmount -= driveFuel; car.DistanceTraveled += long.Parse(arguments[2]); } drive = Console.ReadLine(); } foreach (var car in cars) { Console.WriteLine("{0} {1:F2} {2}", car.Key, car.Value.FuelAmount, car.Value.DistanceTraveled); } }