Какви поуки си взехте след първия изпит?


12
Леле не е истина. Поспах си и днес погледнах задачите с бистър ум и идеята да си оправя грешките. Аз съм вариант 2.1 (6 December 2013 Evening) и имах 260 точки.
 
Ето как протече изпита за мен и какви са ми поуките:
 
Докато се свържа с bgcoder да видя условията на задачите -> Минаха си 20-30 минути.
 
После като решавах първа задача ("2-4-8") и избирах променлива - викам uint трябва да стигне. Ако ми вади грешки в bgcoder -> ще сменя на ulong. Пробвам да си пусна решението - сайта долу. Викам направо да почвам да решавам втората ("Nightmare on Code Street").
 
Докато решавах втора, успях да се свържа с кодера и си качих първата -> гледам 70/100. Що ли, си викам? Бе де да знам - в момента решавам друга. После ще я гледам. Може би даже след като реша и четвърта, че много хора я решават успешно по принцип - що да губя време за 30 точки да търся exceptions щом може 100 -> ПРИОРИТЕТИ.
 
Като реших втората, гледам че пишат в условието "текст с цифри", текст-мекст. Викам си - сигурно ще бутнат няк'ви грозни знаци между другото. Чакай да я кача пък после ще му мисля за проверки. Само ако не е 100/100. Пробвах submit -> кодера пак долу :< Време е за 4-та с лодките("Kaspichania Boats"). Може пък втората да хваща 100 точки без добавки?
 
Докато решавах четвърта, успях да се свържа с кодера и си качих втората -> гледам 70/100 (Абе тука нещо се повтаря случката). Къде ли ми е грешката? Няк'ва проверка май трябваше да направя? Остави, с'я в момента съм се развихрил с четвърта, скоро я свършвам. После ще ги гледам тия със 70 точки.
 
Направих четвърта и качвам - ей най-после не е 70, а 100 точки. Сега какво да правя? Тези първите две не са на сто, ча'й да им хвърля едно око -> нищо не се сещам на пръв поглед. Дали да хвърля второ око? Абе що не погледна малко и другите 2 задачи, вместо да си губя времето за 60 точки? Виж как добре ми се получи с 4-та. Пък и има ~3 часа още. Все ще се намери време за полурешени задачи.
 
Та гледам аз 3-та("Enigmanation"). О-о-о трябва калкулатор да правя. Много parse-ване на знаци и цифри, много нещо. Не, че е невъзможна. Просто тая бая време ще отнеме. Къде ми е bit-аджийската задача? Там ми е силата. Гледам 5-та -> ето я. Абе и тая не е много къса, ама поне съм сигурен, че ще я реша. Bit алгоритъма веднага ми се появи в съзнанието и не ми трябваше много време да реша коя от двете задачи да почна.
 
Петата ("Game of Page") ми отне повече време от предвиденото. Нещо условието ми се видя много неясно :< Разни въпроси, разни отговори, повтарящи се ситуации. Трудно се разбират тез' жени. Изведнъж си излетя времето. Дали да не си търся грешките в 1-ва и 2-ра? Ма'ни! Толкова съм близо да свърша с петата… Тестовете обаче отнемаха прекалено много време заради обемния input, въпреки че ползвах и автоматизиран input от текстов файл (piping от конзолата), така пък debugging-а беше тегав. Толкова знам с'я. Няма време да търся по-ефективни методи. Дай направо ДА НАМАЛЯ ВРЕМЕННО input-a на 3 реда вместо 16 и ДА ПРОБВАМ РЪЧНО. Там е работата, че ЗАБРАВИХ за тази "МАЛКА ПРОМЯНА" и после се чудя и се мая що за странни резултати получавам като ВКАРВАМ ВСИЧКИ 16 РЕДА! (Абе тоя абзац нещо взе да звучи другояче; да не си помислите нещо само)
 
В крайна сметка времето свърши и имах 10 минути да предавам. Направо предадох каквото бях направил -> 20/100. Ужас! Ник'во време за тестове. Няк'ви отчаяни опити направих и предадох в последната секунда. Така и си останах с 260 точки файнъл ризалтс(РЕЗИЛтс?). 20 спечелени точки за 3 часа работа. Можеби ако имах само още малко време…
 
Сега, като погледнах задачите отново, грешките ми бяха повече от ясни. Вижте шибания diff между решенията, които предадох и тези които сега барнах. Това е разликата между 260 точки и 400! Най-много ме заболя за пета задача… Diff-a ми се усмихва даже. Ще го убия!
 
Каква ми е поуката? Хубаво правех, че решавах повече задачи, вместо да вися и да си търся грешката на една задача. И без т'ва имах проблем със стабилността на нета и там задължително щях да изгубя още много време - не разчитайте да има интернет. Това което правех не както трябва - не си водех бележки докато решавам задачата. Разни хрумвания, разни тестови промени и т.н., не си ги отбелязвах, а с течение на времето лесно се забравят (особено ако не си спал скоро и прескачаш от задача в задача). Така се самопрецаках много, а нищо нямаше да ми коства поне да поставя някой друг коментар в сорса.
 
 Друго нещо -> трябва да се подготвя за по-лесни и бързи тестове next time. Дори autohotkey щеше да свърши повече полезна работа, по 5-та задача, от това с което разполагах. А дали не е казано в някоя лекция как да тестваме правилно? Явно съм пропуснал. Може би има опция във Visual Studio, като изберем конкретен проект>цъкнем RMB>Properties(Alt+Enter)>Debug>Start Options> Command line arguments" да въведем "< path\to\the\TestInputFile.txt" и да ползваме pipe-ing с debug support? Може и да има. Не съм се запознавал с нея преди изпита.
 
А, и друго  нещо - да не ви пука много много за memory limit-a на първия изпит. Карайте на сигурно.
 
Вие какви поуки си взехте след първия изпит? Къде ви беше слабото място? Подготовката, организацията, нещо друго? Смятам, че ще е полезно за хората след нас, явяващи се за пръв път. Пък и за нас.

 




Отговори



2
И аз бях на вариант 2.1. Задачи 1, 2 и 4 ги направих за около час и половина. На 2-ра бях прекалено доверчив към входните данни и се подведох, че входа ще е само цифри. Реших, че 5-та не е чак толкова трудна.. Но... Прочетох я 20 пъти може би като за начало, разписах си я на лист. Обхванах всички изключения, всякакви варианти, тествам - за мен е ОК, пускам в BGCoder - 10 точки.. Пак чета условието - ами не ясна работа, почвам да гадая "Какво е искал да каже автора". Променям, добавям outout-и, но не мръднах от 10-те точки. ИЗВОД за целия изпит: Четете, четете, четете условията ако трябва и половин час! Убедете се, че сте разбрали как трябва да работи решението, отбележете си евентуалните клопки, които са ни поставени в условието и внимавайте за тях.

от agrozdev (10 точки)


0
Изводите ми за изпита са, че явно съм решавала малко задачи и нямам добра стратегия при решаването на сложните задачи. Бях във групата 6 декември сутрин, половин час и повече четох задачите, записвах си. Видях кои са най-лесните за мен и в края на втория час, точно преди почивката имах 300 точки за 3 задачи. От 3 и 5 задача по-трудна ми се видя 5, затова първо се захванах с 3. Работата със стрингове никак не ми харесва, а и след като 2 часа решавах се оказа, че не съм си изяснила условието докрай. Пишеше, че числата ще са едноцифрени, а аз се опитвах да съставям число по цифрите му, докато се появи друг знак. Ядосах се на себе си колко съм изперкала и почнах да решавам 5 задача. Наблъсках цифрите в два масива, ляв и десен, претърсвах и записвах кондензаторите и координатите им. Операцията hover тръгна и работеше коректно. И после другите нещо не тръгнаха, явно логиката там не съм я хванала. Останаха 40 минути, върнах се на 3 задача, открих си още една тъпа грешка, че тип на данните трябва да ми е decimal, a не int. И така - от две възможни задачи за решаване и почти решени - си останах без тях. :) Изводите за мен са - определено не трябва да се паникьосва човек на изпита, като захапе една задача не трябва да я пуска, особено ако има ясна визия как да я реши :) Трябва да се решават много задачи, на мен първите три задачи ми дойдоха по аналогия с вече решавани изпитни задачи. И най-трудното - да се върви напред с материала и да се гледат все още невзети теми. Това помага страшно много.

от TarliT (239 точки)


1

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

Другата поука е правете точно това което се изисква в условието, ни повече ни по-малко - моята задача беше American pie, 80/100 имам на нея, и ме толкова яд че.., бях се захванал да правя едни fancy пресмятания за общия знаменател вместо просто да ги умножа двата, както е написано в условието.

Четете и trash-а в условията, може да има нещо много важно в него, въпреки че изглежда безполезен - Моята задача беше Bit Tower Of Doom- понеже има много дълго описание, си помислих(незнам дали съм мислил даже) че е добра идея да започна директно от оказанията (номерираните) и командите. На края се оказа че не съм разбрал правилно задачата и трябва да започна отново.

П.П. задачите се паднаха на 5 декември сутринта.ЦЪК


от emil.venkov12 (1553 точки)


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

от Galya (786 точки)


0
Поуките са повече подготовка, разбира се, както и по-добро познаване на BgCoder-а, т.е. какво върши когато проверява (че вкарва от малки към все по-големи цифри, а накрая може дори и букви, за да види дали си помислил за exception-и).
Но нали затова беше първи изпит, за да грешим и да си вземем поуки. Разбрах, че ако вземеш C# част 2 с отличие, този също се води взет с отличие, така че пълен напред към него!

от playmannn (128 точки)


0
Повече submitt-ване в bgcoder, макар че имах проблеми с интернета. Решавам пета задача много дълго време стигнах до момента, в който трябва да се изкарва резутлата и да тествам за умножението при празни колони, сложих кода в bgcopder на всички тестове timelimit и 0 точки.



0
Ето и моите поуки:
1) Чети материала напред с поне 1-2 глави, тъй като поне 2 от задачите на изпита са доста трудни и ще станат по-бързо ако използваш материал от следващия курс.
2) Носи си слушалки следващия път, за да можеш по-добре да се концентрираш. Като минус на тази стратегия, все пак, трябва да подчертая, е вероятността да не чуеш когато трейнърите дават ценни наставления на всички, особено ако има някой бъг в условието (например, че за задача #4 Kaspitchania Boats), където N се оказа, че трябва да е нечетно.

от gradev (1661 точки)


0
Моето решение на Kaspitchania Boats макар и доста грозно работи и с четни числа :) Но това го казаха наистина.

от dimo.petrof (2887 точки)


4
Поуката при мен е ясна... слушайте какво Ви казват трейнърите. Те казаха направете първо по-лесните задачи и аз така и направих. За 20 мин си написах 4та задача и за още толкова 1ва задача... останаха ми 5 часа за 3 задачи, което е пре достатъчно.. Казаха Вземете си шоколад, кафе за убодрение - да взех си шоколадче и кашу (кашуто много убодрява да знаете). Казаха излезте да почивате, глътнете чист въздух (ми да трябва си). Бе Уил Смит някъде го беше казал в една негова култова реплика, перефразирано звучи така. Все някой някъде по света е описал вашият проблем, няма нужда да измисляте топлата вода, а само трябва да прочетете за този проблем и да си го решите. В случая просто трейнърите са минали по този път и не са го написали в книга, а просто ни казаха какво да направим. Та слушайте трейнърите. Аз да им кажа едно Благодаря :)

от Pavlin1987 (326 точки)


0
Аз лично стигнах до извода, че колкото по-сложно и с повече if става едно решение, значи нещо не е наред и най-добре да се почне отначало. Така сбърках с третата задача, задълбах по google да търся решение по измисления до момента метод, вместо да погледна, че съм подходил грешно още в началото. Втори извод - винаги проверка на граничните случаи в задачата, аз лично съм с 30 точки по-малко заради int вместо long деклариране :(

от etcet (304 точки)


0
Моята поука е че винаги ще има "къса клечка" за някого. Аз също бях в Петък вечерта и определно 3 задача беше доста по трудно от 3та-та в Четвъртък. След като бях готов с 1ва, 2ра, 4та. Почнах да мисля 3-та и не успях да я измисля. До сега винаги, когато съм се готвил в BGCODER, съм успявал да реша поне 4ри и не винаги 5-та задача. В четвъртък задачите, които са били успях да ги реша всичките, вчера. Така че винаги ще има "къса клечка". Не изключвам и вероятността на някой да са му по-лесни задачите от Петък. Отнасям се с разбиране към хората мислещи теста, защото е трудно да направят един стандарт за вскички. Ако трябва да го синтезирам в 3 думи: Всичко е шанс!



1

При мен това, което ми попречи да хвана 500-те точки, е на пръв поглед абсурдно, но е факт, че ми се случи. Почнах от по-лесните задачи и като стигнах до задачата със зависимостите (яйцето), не видях, че най-отдолу на отделна страница има още една примерна фигурка и почнах да решавам само по 2-а примера. Обикновено и само 2 примера стигат, но точно за тази задача с яйцето имаше един капан. Та 2 часа се чудих защо уж на мен пропорциите ми излизат правилно, а bgcoder-a ми връща 0 точки?! Няма да обеснявам как се справих, но ми отне 2 часа да я реша, а ако си бях видял 3-тия пример, щеше да ми остане време да си дебъгна 5-та задача и да си добавя забравените проверки.

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

Иначе друг tip - голям плюс е това, че условията вече ги дават електронно, защото можем да си изтриваме ненужните изречения. Моята 5-та задача, след като изчистих всичко ненужно, остана с 3 реда условие, input и output... Досещате се колко е по-лесно да схванем смисъла на задачата, ако условието е само 3 реда... :)


от valentin_lozev (1012 точки)


0
Хаха! Сега разбирам, че имало и трета фигура. Аз я реших за два часа по двете само...

от Galya (786 точки)