Loading...

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

GoShow avatar GoShow 595 Точки

Интересна и не много лесна задача Warhead

Задачата в интерес на истината днес ме заби. За хората, които започват от 0 ще е доста сложна предполагам, както се оказа и за мен, въпреки,че съм малко по- напред.Тя е от изпит по C#1 миналата година в Телерик.

http://bgcoder.com/Contests/Practice/Index/106#4 - това е линка към нея, мисля че трябва да имате регистрация в bgcoder, за да я отворите. И така аз забих с моето решение на 43 / 100 и безброй изгърмявания откъм време (time limit).

http://dotnetfiddle.net/X3atis - ето и решението ми(на този етап). Ще съм безкрайно благодарен на предложения за оптимизация и всякакви други.

p.s. не исках да отварям авторското решение и тестовете.

 

Тагове:
1
Programming Basics
a_rusenov avatar a_rusenov 1103 Точки

Прекалено много if конструкции ползваш, откъдето ти идва и тайм лимита. Плюс това си създаваш много излишни обхождания като не използваш else.

-Поизчисти го като вкараш switch конструкция за операциите

-Можеш да махнеш този лист с outputs, без значение е за БГкодера в каква последователност ги изкарваш (освен ако на теб не ти пречи)

-При извършване на операция в/у кондензатор, затривай околните единици и самия център след това на 0 (може да му хрумне отново там да провери)

Ето го и моето решение: http://pastebin.com/eVBG2UNX

Използвал съм методи и е добре четимо според мен.

1
GoShow avatar GoShow 595 Точки

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

0
a_rusenov avatar a_rusenov 1103 Точки

Имах предвид, че можеш да изкарваш output по всяко време, дори ако след това има още input. Иначе последователността на output-а трябва да се запази задължително. Това е така, защото БГкодер изкарва резултата в txt документ и оттам сравнява.

1
GoShow avatar GoShow 595 Точки

Благодаря!

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