Loading...
g.stoyanov avatar g.stoyanov 776 Точки

C# Basics Exams April 2014 - Решения

Откривам темата за да може да споделяме тук решенията си от изпита. Също така да може следващите випуски да откриват лесно информацията.

Ето ги и моите "нецензурирани" решения :)

C# Basics Exam 11 April 2014 Evening:

Task01Cinema

Task02Illuminati

Task03NewHowse

Task04CrossingSequences

Task05CatchTheBits

14
Programming Basics
XmUrF avatar XmUrF 363 Точки

Ето тук се намират и моите решения на задачите от 11-ти сутринта. Те бяха Work Hours, Sum of Elements, The Explorer, Magic Strings и BitSifting.

Сега като гледам решението на 3-та задача си е доста грозничко, ама едва ли някой си губи времето на изпит да ги изпипва нещата.

Четвърта задача си седнах на гъза и я реших сега, на изпита не успях. Всъщност задачата още в началото ми се стори прекалено трудна и реших първо да се пробвам с пета, на която запецнах яко и изгубих много време. След като я реших бях толкова доволен, че въобще не ми се мислеше върху четвърта cool. Е, сега ме е малко яд. Но пък от друга страна сега знам и мога повече. Преди това не си бях направил последното домашни и речниците и списъците не ги владеех кой знае колко, пък с тях задачата се решава лесно (абе това си ми е малко самооправдание за пред мен си ама карай wink).

На пета супер бързо стигнах до работещо решение само че то ... не работеше с 64 битови числа. Моето решение беше да намирам битовете на съответните позиции на входното число и на всяко от ситото и ако са 1-ца, да ги нулирам на входното число. Всичко работеше прекрасно до 32-рия бит, след което незнайно защо за мен се бъгваше. Отне ми супер много време да разбера защо алгоритъма ми работи с малки числа и не работи с големи. Всъщност така и не разбрах, но поне намерих заобиколен начин да реша задачата. По-късно в нас прочетох тази статия, откоето поне малко ми се изясниха нещата. Разбира се отново в нас намерих едно елементарно решение, за което за съжаление не се сетих на самия изпит. Кой знае, ако я бях решил бързо пета може би щях да се справя и с 4-та.

Сега като си гледам решенията в ретроспекция мога да кажа, че да, задачите на моя изпит поне като код се решават по по-кратък начин отколкото тези в Телерик. Някои от задачите в bgcoder налагаха доста внимателно обмисляне на алгоритъма кое как да изчислява и имаше моменти, когато си трябваше човек да изпише над 100, че роди 200 реда код. Тук всичко се решава в рамките на 50-на реда. Това обаче не значи, че не трябва да се помисли над задачата, за да се намери решението.

0
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

И аз имах абсолютно същия проблем с 5-та задача - правилна логика - 20/100. :) Накрая печатах на конзолата и дебъгвайки видях, че цифрите ми се обръщат до 32-рия бит. А ползвам метод за преобразуване на бита на коя да е позиция, който работи само с ulong... Даваше ми някакъв warning на 1 || (ulong)... (или там както беше начина за обръщане на бита). Накрая се издразних и декларирах нова променлива ulong myULong = 1 и тогава myULong || другото число вече проработи! Ей, за това изгубих сигурно час. :) С другите задачи не съм имал проблеми. Благодаря за статията!

0
XmUrF avatar XmUrF 363 Точки

Мдам, неприятно беше това с 5-та задача :). Да не говорим и че самото дебъгване си беше тегаво. Нищо де, минало бешело, нали сме намерили някакво решение :).

0
Tr00peR avatar Tr00peR 566 Точки

Прилагам решенията си от 11ти сутринта (вариант 3).

 

01. Work Hours

02. Sum Of Elements

03. The Explorer

04. Magic Strings     -     не можах да измисля нищо интелигентно и я направих така :D

05. Bit Sifting     -    може и без масив, просто всяко число да си се проверява по отделно

 

0
gngeorgiev avatar gngeorgiev 90 Точки

Ето ги и мойте решения от 14-ти сутринта. Всяко съм го взел от тестовете, без да ги едитвам, може да видите неизполвани променливи, класове или методи laughing

 

1. FruitMarket - 100/100 - Тук може би решението ми е малко overkill (абе направо си е), можеше да го реализирам и по-добре, но това ми беше най-първичната идея, която привидно щеше да работи.

2. BiggestTriple - 100/100

3. WineGlass - 100/100 - Тук ми гърмеше един тест и предположих, че е със 4 (тъй като беше първия) и го тествах с 4. След като видях, че не работи реших, че е по-лесно да го хардкодна отлколкото да си оправям алгоритъма.

4. LongestAlphabeticalWord - 100/100 - Тук си направих един ArrayNavigator вместо всеки път да проверявам дали излизам от масива. Стана малко копи пейст със ресетването на навигатора или на стринг билдъра ама тръгна в крайна сметка ;д

5. BitsShooter - 100/100 - Тук реших да работя със стрингове и чарове вместо със битове.

 

3
alea_him avatar alea_him 128 Точки

Здравейте, това са моите решения от 14.04. Кода е такъв, какъвто съм го събмитвала последно, затова и в момента липсва 5-та задача, която успях да направя , имах грешка, открих я и ми трябваха наяколко минутки да кача решението, но уви :) :

1. FruitMarket 

2. BiggestTripple

3.WineGlass

4.LongestAlphabeticalWord - определено решението ми не е от най-оптимизираните, но пък логиката е видна за всеки, който е мислил над задачата ;), когато бях готова с него и системата отсъди 100/100 ми оставаше половин час да се захвана с 5, нейното решение бих могла да кача, когато имам достъп до личния си лаптоп, все пак то така и не стигна до judge-a :(

2
Adrian.Bozhankov avatar Adrian.Bozhankov 9 Точки

Здравейте колеги,

някой може ли да предложи решение на задачата LongestAlphabeticalWord, което да е само с материал до 6та глава (Цикли), тъй като е ясно, че с масиви или материал от курсовет по-нататък доста по-лесно се решава, но до колко си спомням идеята беше, че задачите могат да се решат и с материала до цикли. Благодаря ви предварително, ако някой я реши или се опита да я реши.

Поздрави,
лек и успешен ден!

1
XmUrF avatar XmUrF 363 Точки

Аз се съмнявам, че бих могъл да я реша без масив, но да ти кажа аз и 4-та задача от моя изпит (Magic Strings) също не бих могъл да я реша без масив. Може и да може без масив, но ще трябва яко писане. Очевидно 4-тите задачи бяха най-трудните и наистина без знанието на малко повече материал си е мъка да се решат. 

1
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Колега, много съжалявам, че ти прочетох поуста, до момента 2 аспирина отидоха. Докарах я до 37/100 само с цикли и без НИЩО от по-горен материал. В момента мъча случаите за надолу и нагоре, но гърмят, ще се радвам и ако някой удари едно рамо ;д

Source code

п.п: Трябва да изчезвам, довечера ще я довърша, междувременно ако някой иска да пробва, мисля, че прескачане през n числа в стринга ще свърши работа.

1
g.stoyanov avatar g.stoyanov 776 Точки

Имам идея в главата, ще опитам довечера да я реша и ще кача решението.

1
DNNdrago avatar DNNdrago 145 Точки

Споделям и моите решения на задачите от 11ти вечерта

1. Cinema

2. Illuminati

3. NewHouse

4. CrossingSequences

5. CatchTheBits

 

Това са в напълно суров вид решенията, такива какви го хвърлих в judge-a. Като цяло всичко изглежда ясно. 

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

0
anto84 avatar anto84 16 Точки

Ето и моите решения от 11.04.2014 вечер:

1.Cinema - 100/100 

2. Illuminati - 100/100

3.New House 100/100

4. Crossing Sequences 100/100 - решил съм задачата с два масива List<> по един за трибоначи числата и едно за спиралата. Накрая търся за най-малкото еднакво число в двата масива.

5. CatchTheBits 100/100 - не съм решил съм задачата с побитови операции, а със стрингове защото така ми беше по лесно.

smile

 Това са ми решенията директно от изпита така че не съм отделял време за коментари и т.н. но мисля че горе долу е ясно решението. Само на 4та и 5та задача вкъщи си ги оправих малко щото на изпита по 1 тест не ми минаваше но сега дават по 100т. вече. 

 

 

0
jabalka avatar jabalka 960 Точки

Ето и от мен малко код.

Прилагам линкове към първите три задачи от изпита на 14.04.2014 вечерта. Както ги предадох на самия изпит. 100/100 са и трите задачи. Пета няма да я качвам за сега, защото е.... голямо мазало кода... пък и е 70/100. Като се наспя и я изчистя, може и нея да кача.

Условията в SoftUni Judge

 

01 Inside the building

02 Student Cables

03 Programmer DNA - голяма забава тази задача :)

 

edit: Добавям решения на задачите от първия изпит - на 10.04.2014 - сутринта. Всички са 100/100.

01 Joro Football Player

02 Half Sum

03 Sunglasses

04 Nine digit magic number

05 Bit inverter - решение побитово

05 Bitinverter - решение със стрингове - два пъти по-дълго. Извод - решавайте битовите задачи побитово :)

 

Дано е полезно за някого!

Ако имате въпроси по кода - пишете ми :)

 

2
lostm1nd avatar lostm1nd 121 Точки

Здравейте,

Започнах да правя видео решение за някои от задачите от изминалия изпит. За сега има клипчета за следните задачи:

1. House - 12 april morning

2. Magic dates - 12 april morning

 

Има искате конкретна задача кажете и ще се опитам да направя видео решение и за нея. Също така коментари към решенията са добре дошли.

Ето един полезен коментар към задачата Magic dates:

@g.stoyanov:

"1. Ползвай стринг билдер за изграждане на стрингове. 2. Използвай PadLeft за допълването на стринга за месец и ден, най-малкото кода става по-опростен и четим. 3. Със TryParse на DateTime можеш да избегнеш всички невалидни дати - един вид проверката е само един if."

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