Loading...
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

Задача - [Ladybugs] - Programming Fundamentals Exam - 23 October 2016

https://judge.softuni.bg/Contests/Practice/Index/333#1  - Линк към задачата

 

http://pastebin.com/7bUmJU6L - това е кода

Днес започнах да пререшавам задачите от позледния изпит. На тази стигам само до 30/100.

Не знам защо не се получава! Може ли някой да каже какво не му е наред на кода?

Примерните тестова се получават, но останалите са "Грешка по време на изпълнение"

Благодаря

Тагове:
0
Fundamentals Module 08/11/2016 14:59:39
Pilgrimage avatar Pilgrimage 515 Точки

Ключово за тази задача е МНОГО внимателното четене на условието.
Поне 17 пъти за да се хванат всички "уловки". :-) :-) :-) 
Едното са критериите за валидност на командата.
Другото е, че [left -3] си е всъщност [right 3].
И третото (което аз на изпита попуснах)се крие тук: "If the ladybug lands on a fellow ladybug, it continues to fly in the same direction by the same fly length"
Третото условие издънва последните два теста.

Успех! :-)

П.П.

Грешка по време на изпълнение по всяка вероятност означава, че не контролираш достатъчно добре индексите на масивите и някой ти излиза извън обхват.

0
08/11/2016 15:23:46
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

Left -3, че е равно на right 3 Мисля, че съм го направил като хората. 

if (command[1] == "right")

else if (moving > 0)
                    {
                        MoveRight(field, index, moving);

                    }
                    else
                    {
                        MoveLeft(field, index, Math.Abs(moving));

                    }

Нали така е правилно?

Иначе останалото, да. Човек като не му се получава задачата е по-добре вместо да гледа "умно" в кода, да прочете още няколко пъти условието :D

Благодаря!

0
08/11/2016 15:40:12
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

http://pastebin.com/7DDWuk5Q 

-уж проверявам за критериите за валидност на командата  -  if (moving > 0 && field[index] == 1 && index < field.Length && index >= 0)

-В предният коментар Ви показах как съм направил, ако е Left - 3, да изпълнява right 3

- a за третото промених циклите :  for (int i = index - moving; i > -1; i -= moving)

и пак стигнах само до 50/100

:(

 

0
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

http://pastebin.com/fT4gjd9Y - Успях

Не си бях разделил проверките като хората.

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

2
WifiAvivi avatar WifiAvivi 151 Точки

Доста коварна изпитна задача. Не е трудна, но изисква много концентрация и съобразителност.

Решение: http://pastebin.com/7Lpw09uU

0
slpwlkr avatar slpwlkr 0 Точки

Съгласен, определено е пипкава. 
Едно доста по-простичко, но работещо решение и от мен: https://pastebin.com/w4QnheBP 

0
12/10/2018 13:43:39
Lubomirrrr avatar Lubomirrrr 32 Точки

Тази задача разбирам как мога да я реша,но последния пример така и не успявам да го разбера

 

5

3

3 left 2

1 left -2

end

output - 0 0 0 1 0

 

По първия input се разбира,че ще лети нялаво - от 3-индекс отива на 1-ви( 3 - 2 ) и се получава 0 1 0 0 0

Втората команда 1 left -2 нея разбирам - как 1 минус -2 прави като резултат 3 - та да се получи този output - 0 0 0 1 0

Прегледах този код - http://pastebin.com/YUc4J3kv,дeбъгвах го и не мога да разбера как на 65-ти ред - indexBugs  -=  flightBugs; -> IndexBugs е 1 а flightBugs e -2   -> и се получава 1 -= -2 -резултат 3 :D

Какво става :D


 

 

 

0
26/02/2017 22:39:41
Milovanov avatar Milovanov 11 Точки

И аз не разбрах, къде в условието на задачата се подсказва, че ако индекса е негативен се чете, като +.?

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