Професионална програма
Loading...
slawi132 avatar slawi132 20 Точки

04. Fast Food

Може ли малко помощ за задача 4 от Stack and Queue от excersice-a ето и решението ми до сега имам 80 точки в judge

https://pastebin.com/SdWGFuys

https://softuni.bg/downloads/svn/csharp-fundamentals/2019-May/CSharp-Advanced-May-2019/01.%20CSharp-Advanced-Stacks-and-Queues/01.%20CSharp-Advanced-Stacks-and-Queues-Exercises.docx - Линк за задачата

Тагове:
0
C# Advanced
Joro_Paspalev avatar Joro_Paspalev 21 Точки

Здравейте,

първоначално и аз изкарах 80 точки в Judge, тъй като не бях разбрал точно условието, как да се принтират останалите необслужени поръчки (при принтирането им използвах enque.Sum(), а се иска да се принтират останалите елементите в колекцията разделени с интервал).

Ето и моя вариант на кода за тази задача:

            int amount = int.Parse(Console.ReadLine());

            var data = Console.ReadLine()
                .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse)
                .ToArray();

            Queue<int> queue = new Queue<int>(data);

            bool isComplete = true;

            if (queue.Any())
            {
                Console.WriteLine(queue.Max());
            }

            for (int i = 0; i < data.Length; i++)
            {
                int currentOrder = data[i];

                if (currentOrder <= amount)
                {
                    amount -= queue.Dequeue();
                }
                else
                {
                    Console.WriteLine($"Orders left: {string.Join(' ', queue)}");
                    isComplete = false;
                    break;
                }
            }

            if (isComplete)
            {
                Console.WriteLine("Orders complete");
            }

 

,Поздрави Жоро

0