Truck Tour from Stacks and Queues - Exercise 20/100
Колеги, реших да започна да пререшавам по-трудните задачи от упражненията от CSharpAdvanced. Нещо зацепих на тази. Знам, че има видео с решението и, но честно казано не знам защо не минава моят код. 20/100 e, като втория тест е Time limit, а другите три Incorrect answer.
https://pastebin.com/j36YXkQJ
https://softuni.bg/downloads/svn/csharp-advanced/May-2017/01.%20CSharp-Advanced-Stacks-And-Queues/01.%20CSharp-Advanced-Stacks-And-Queues-Exercises.docx
Благодаря!
Малко по-различен подход с превъртане. Ако някой път дава отрицателна стойност, то никога не може да се започне от него.
https://github.com/tiapko/CSharp-Advanced/blob/master/02.Exercises-Stacks%D0%90ndQueues/06.TruckTour.cs
@Tanyo, благодаря колега, но нали уж смисъла на упражнението е да използваме опашки...
Ето моят код с опашка, който за жалост дава също само 20 точки... Идея?
static void Main(string[] args)
{
int input = int.Parse(Console.ReadLine());
var queue = new Queue<int>();
int iteration = 0;
int totalFuel = 0;
for (int i = 0; i < input; i++)
{
string[] line = Console.ReadLine().Split(' ');
int calc = int.Parse(line[0]) - int.Parse(line[1]);
queue.Enqueue(calc);
}
for (int i = 0; i < queue.Count; i++)
{
int firstNum = queue.Dequeue();
if (firstNum + totalFuel <= 0)
{
queue.Enqueue(firstNum);
iteration++;
}
else
{
totalFuel += firstNum;
}
}
Console.WriteLine(iteration);
}