Loading...
nsavov avatar nsavov 68 Точки
Best Answer

Сложи един IF във while циклите който проверява дали lengthMove == 0  -> да брейкне цикъла

0
05/06/2019 15:50:59
YanaStamenova avatar YanaStamenova 21 Точки

Сложих, сега е 90/100 и има една грешка, която не е Time Limit, а просто грешка.

0
nsavov avatar nsavov 68 Точки

Най - вероятно защото като скочиш 0 места се зануляваш, а трябва да си остане единица... Още един IF и си готова :)

Ето мойто кодче:

Цък

По - сложните задачки си ги коментирам подробно да мога да ги зубря ако се наложи по-късно

0
05/06/2019 16:40:18
YanaStamenova avatar YanaStamenova 21 Точки

Мерси, ще разгледам твоето решение. Въпросът е, че си гледам кода и не виждам как ще зануля каквото и да е при този if.

Ето линк: https://pastebin.com/g9gUKvwZ

0
koknq avatar koknq 24 Точки

using System;
using System.Linq;

namespace ConsoleApp11
{
    class Program
    {
        static void Main(string[] args)
        {
            int size = int.Parse(Console.ReadLine());
            bool[] fields = new bool[size];
            int[] indexes = Console.ReadLine()
                .Split()
                .Select(int.Parse)
                .ToArray();
            foreach(var index in indexes)
            {
                if (index < 0 || index >= fields.Length)
                {
                    continue;
                }
                    fields[index] = true;

            }
            while(true)
            {
                string line = Console.ReadLine();
                if(line=="end")
                {
                    break;
                }
                string[] parts = line.Split();
                int index = int.Parse(parts[0]);
                string direction = parts[1];
                int lenght = int.Parse(parts[2]);
                if (index < 0 || index >= fields.Length || !fields[index])
                {
                    continue;
                }
                fields[index] = false;
                while(true)
                {
                    if (direction == "right")
                    {
                        index += lenght;
                    }
                    else
                    {
                        index -= lenght;
                    }
                    if(index >= fields.Length || index <0)
                    {
                        break;
                    }
                    if(!fields[index])
                    {
                        fields[index] = true;
                        break;
                    }
                }
            }
            foreach(var cell in fields)
            {
                if(cell)
                {
                    Console.Write("1 ");
                }
                else { Console.Write("0 "); }
            }

        }
    }
}

Решението от видеото с Атанас Атанасов.

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