Loading...
vukata avatar vukata 0 Точки

Проблем със задача 3. Cooking factory от DemoMidExam02March2019

Здравейте,

Имам проблем на тази задача. Работи си коректно, но не минава тестовете, заради time limit. Някой може ли да ми съдейства за отстраняване на проблема? Благодаря предварително.

Ето решението ми:

using System;
using System.Collections.Generic;
using System.Linq;

namespace CookingFactory
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            var batches = new List<Batch>();
            var batchesAsStringList = new List<string>();
            while (input != "Bake it!")
            {
                batchesAsStringList.Add(input);
                input = Console.ReadLine();
            }       
            for (int i = 0; i < batchesAsStringList.Count(); i++)
            {
                Batch currentBatch = new Batch();
                currentBatch.lenght = batchesAsStringList[i].Split('#').ToList().Count();
                currentBatch.quality = batchesAsStringList[i].Split('#').Select(int.Parse).ToList().Sum();
                batches.Add(currentBatch);
                
            }
            int bestBatchIndex = GetBestBatchIndex(batches);
            Console.WriteLine($"Best batch quality: {batches[bestBatchIndex].quality}");
            Console.WriteLine($"{string.Join(' ',(batchesAsStringList[bestBatchIndex].Split('#').ToList()))}");


        }
        static int GetBestBatchIndex(List<Batch> batches)
        {
            Batch bestBatch = batches[0];
            for (int i = 1; i < batches.Count(); i++)
            {
                if (batches[i].quality > bestBatch.quality)
                {
                    bestBatch = batches[i];
                }
                else if (batches[i].quality == bestBatch.quality)
                {
                    if (batches[i].lenght < bestBatch.lenght)
                    {
                        bestBatch = batches[i];
                    }
                }
            }
            return batches.IndexOf(bestBatch);
        }
    }
    
    class Batch
    {
        public int quality;
        public int lenght;
    }
}

 

Тагове:
0
Programming Fundamentals 09/03/2019 14:17:17
Hristo13 avatar Hristo13 227 Точки

Здравей имаш две грешки.   while (input != "Bake it!")  го промени на "Bake It!" i с главна буква. Часовниците в джъджа ги дава когато е пренатоварен или когато в някой случай не може да излезе от цикъл програмата. Другата ти грешка е в принтирането

    Console.WriteLine($"Best batch quality:  ----> Best Batch quality отново голяма буква трябва.

0
09/03/2019 15:29:10
vukata avatar vukata 0 Точки

Благодаря. Получи се. В текстовия файл с условието на задачата е дадено Bake it! с малко i, а другото просто не съм догледал, но странното беше, че не ми даде различен отговор заради главната буква, а имах проблем с time limit, но така или иначе се разреши и си минава 100/100.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.