Loading...
Maria_ls avatar Maria_ls 383 Точки

[Programming Basics Lab] 06.08.2015 04. Phone Processes - проблем с памет

Здравейте,

Решавам тази задача: https://judge.softuni.bg/Contests/Practice/Index/102#3

Решението ми е ето това: https://dotnetfiddle.net/fKpYvN

 

Изкарвам 88/100, гърми ми последният тест за надвишаване на памет. Няма авторско решение, а единственото чуждо решение, което открих също не минава последния тест. Някакви идеи какво точно се случва и как да се поправи? smiley

Тагове:
0
Programming Basics 21/07/2016 10:50:48
Plamen27 avatar Plamen27 599 Точки

Малко задълбах в програмата ти и по принцип тя смята вярно.

Единствено гърми по памет на последната проверка, която е при граничен случай когато енергията е равна на 15%,

като предполагам, че стойностите са въведени така, че стават няколко действия, най-вероятно при пълна батерия. 

Това което в случая не харесва judge е този твой начин на сметка за конкретния случай:

  string[] input = command.Split(new Char[]{'_', '%'});
                int batteryConsumption = int.Parse(input[1]);

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

Затова един вероятен фикс на твоята програма би бил такъв примерно:

http://pastebin.com/edit/ydxqG6qD

1
21/07/2016 12:50:30
Maria_ls avatar Maria_ls 383 Точки

Да аз така я разбрах как става, подсказките към условието са подобни на твоето решение, ама с boolean и по този начин се получи 100/100, и като се замести масива със Substring с твоето предложение, също се получава. Просто ми беше чудно дали с масива има как да се подкара, че да изкара 100/100. 

Последният тест е 

16% начална батерия

skype_00%

skype_01%

...

skype_00% (някъде към 4000+ такива)

енд

 

0
21/07/2016 13:07:53
Plamen27 avatar Plamen27 599 Точки

:)))) е това тогава трябваше да го напишеш в началото на поста си.

Идея какво точно се случва и как да се поправи мисля, че вече ти предоставих. :)))

1
21/07/2016 13:07:19
Maria_ls avatar Maria_ls 383 Точки

А не, в началото дори не ми беше дошло на ум да използвам подсказките, ами си тръгнах с моя си подход, така че имаше файда :)

0
Plamen27 avatar Plamen27 599 Точки

Не бях го видял - действах като на изпит без да знам стойностите за вход и изход.

Предполагах такава много дълга проверка.

0
Plamen27 avatar Plamen27 599 Точки

Ами по принцип това което разбрах досега, е че концепцията на софтуни е състезателно програмиране, затова някои проблеми и решения са доста специфични и са за конкретните рамки на дадена задача. Имах няколко пъти когато вярна задача ми гърмеше по време или по памет - тоест от нас искат да използваме конкретен подход в случая. Затова подсказките често могат да се окажат решаващи за решаването на една задача.

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