Loading...
d.betsov avatar d.betsov 0 Точки

Time Limit - "Water dispencer" и "Sequence 2k+1" задачи

Здравейте, както пише и в заглавието имам проблем със времевото ограничение за решението на въпросните задачи. Първата не е дадена като решен пример в лекционни материал и следователно може би грешката е в мен, но втората именно "Sequence 2k+1" е логически написана 1 към 1 със лекционния курс и въпреки това отново Judge системата слага "time limit" в тестването. Прилагам моите решения:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Water_Dispencer
{
    class Program
    {
        static void Main(string[] args)
        {
            int volume = int.Parse(Console.ReadLine());
            int fill = 0;
            int counter = 0;

            while (true)
            {
                
                string command = Console.ReadLine();
                if(command == "")
                {
                    if (fill == volume) Console.WriteLine($"The dispenser has been tapped {counter} times.");
                    else if (fill > volume) Console.WriteLine($"{fill - volume}ml has been spilled.");
                    break;
                }
                    

                else
                {
                    if (command == "Easy") fill += 50;
                    else if (command == "Medium") fill += 100;
                    else if (command == "Hard") fill += 200;
                }

                counter++;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sequence_2k_1
{
    class Program
    {
        static void Main(string[] args)
        {
            int N = int.Parse(Console.ReadLine());
            int num = 1;

            while (num<=N)
            {
                Console.WriteLine(num);
                num = 2 * num + 1;
            }
            
        }
    }
}

 

Тагове:
0
Programming Basics
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

на първата задача if(command == "") това е безумие.....идея си нямам защо си го направил.

но без условията трудно да кажа нещо повече.

0
d.betsov avatar d.betsov 0 Точки

Хах, предполагам че е, но сработи за няколко от предишните задачи (идеята ми беше да спира когато срещне празна линия). Оправи се когато замених въпросния ред с:

if(command != "Easy" && command != "Medium" && command != "Hard")

Условието иначе беше следното:

⦁    7. Чаша с вода
Всеки офис си има диспенсър за вода. Напишете програма, която отчита дали служител от офиса е успял да напълни чашата си успешно.
Диспенсърът има три бутона :
⦁    Easy - лесен (50 милилитра)
⦁    Medium - среден (100 милилитра)
⦁    Hard - силен (200 милилитра)
Ще получите обемът на чашата и на всеки следващ ред кой бутон е бил натиснат. Ако чашата се напълни или прелее програмата приключва.
Ако чашата прелее отпечатайте колко вода е била излята. При успешно напълване отпечатайте броят на натисканията на бутона.

 

0
13/10/2018 14:51:17
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей, на задачата 07. Water dispenser проверката за приключване на програмата е if (fill >= volume) тази проверка можеш да си я сложиш на ред 21. Другата задача дава 100/100 вероятно е имало голямо натоварване на judge когато си я пействал и за това ти е дало time limit.

0
13/10/2018 14:31:03
d.betsov avatar d.betsov 0 Точки

Да, за предишната задача проблема предполагам е бил в натоварването, оправи се след отова.

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