Loading...
valentina.yankova avatar valentina.yankova 5 Точки

02.Ladybugs - Exam Preparation II

Опитвам се да реша задача 02. Ladybugs от Exam Prep II . Задачата ми минава примерните тестове във VS, но в Judge гърми с Compile time error. Не мога да разбера причината. Моля за помощ! Ето и кода ми:

Ladybugs -code

 

 

Тагове:
0
Fundamentals Module 25/06/2018 14:35:27
NikolayNeykov92 avatar NikolayNeykov92 617 Точки
Best Answer

Здравей,

ето кода ти с поправки ако имаш въпроси питай:

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

namespace LadyBugs
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] fieldSize = new int[int.Parse(Console.ReadLine())];
            int[] ladyBugsIndexes = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            List<string> commands = Console.ReadLine().Split(' ').ToList();

            for (int i = 0; i < ladyBugsIndexes.Length; i++)
            {
                if (ladyBugsIndexes[i] >= 0 && ladyBugsIndexes[i] < fieldSize.Length)
                {
                    fieldSize[ladyBugsIndexes[i]] = 1;
                }
            }

            while (commands[0] != "end")
            {
                int startIndex = int.Parse(commands[0]);
                int flyLength = int.Parse(commands[2]);
                int endIndex = 0;

                if (startIndex >= 0 && startIndex <= fieldSize.Length - 1 && fieldSize[startIndex] == 1) //we have a ladybug found in the field
                {
                    fieldSize[startIndex] = 0;

                    if (commands[1] == "right")
                    {
                        endIndex = startIndex + flyLength;
                        while (endIndex < fieldSize.Length)
                        {
                            if (fieldSize[endIndex] == 0)
                            {
                                fieldSize[endIndex] = 1;
                                break;
                            }
                            endIndex += flyLength;
                        }
                    }
                    else if (commands[1] == "left")
                    {
                        endIndex = startIndex - flyLength;
                        while (endIndex >= 0)
                        {
                            if (fieldSize[endIndex] == 0)
                            {
                                fieldSize[endIndex] = 1;
                                break;
                            }
                            endIndex -= flyLength;
                        }
                    }
                }
                commands = Console.ReadLine().Split(' ').ToList();
            }
            Console.WriteLine(string.Join(" ", fieldSize));
        }
    }
}

1
25/06/2018 16:47:01
k.sevov avatar k.sevov 1077 Точки

Сплитвай по ' ' вместо " ", защото тестват на .Net Framework. Пак нищо не минава освен нулевите тестове, но ще можеш да си дебъгваш вече. 

0
valentina.yankova avatar valentina.yankova 5 Точки

Всякакъв вид сплитване пробвах, вкл. new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries . Всичко си е ОК при дебъгване във VS , кодът си се компилира. Гърми единствено в Judge

 

0
25/06/2018 14:57:42
k.sevov avatar k.sevov 1077 Точки

Има го на две места, като ги смених и двете и си се компилира в джъдж без проблеми. Може да си направиш един проект на .Net framework и да си пейстнеш кода, то ще светне каквото има нужда да се оправи.

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