Loading...
Filkolev avatar Filkolev 4482 Точки

Неприятен беше като цяло.

Първа задача не особено сложна, с доста сметки, но някои не особено логични моменти, като например, че възрастта или броят тренировки на седмица може да са отрицателни. Доста хора бъркаха и със закръглянето - трябваше да се закръгля надолу, което при отрицателни числа не става с обикновено кастване, а трябва да се ползва Math.Floor.

Втора задача стандартно би се решила с речник, в който да се пазят данните, или най-малкото масив. Авторското решение мисля има 8 променливи и доста if-ове и не е много лицеприятно. Нямаше нещо сложно като логика, най-честа грешка беше сплитването, понеже в условието е казано, че може да има повече от един интервал между елементите.

Трета мисля стандартна - за 15-20 реда се разписва логиката ако се измисли хубаво, за да няма излишни цикли и проверки.

В четвърта имаше доста неща за съобразяване. Основно трябваше да се преброят правилно точките - да не се броят тези по стените, да не се броят два пъти едни и същи точки, да се проверява дали все пак тези точки са едновременно в рамките на радиуса на телепорта и в рамките на стаята. Не можах да разбера къде бъркаха хората; повечето бяха писали доста код и беше трудно да се разбере къде има пропуски.

Пета не беше особено сложна; няколко души имаха по 90 точки, като интересното беше, че им гърмяха различни тестове. На 2-3 души забелязах дребни пропуски, които лесно се отстраняваха и щяха да им донесат 100/100. Има някои особености при битовите операции с unsigned типове; аз се сблъсках с такъв, както и поне един студент. При изместване с 64 позиции надясно вместо очакваното 0 числото не се променя, което ако се установи, се оправя с един обикновен if. Възмоно е някакви подобни гранични случаи да са създавали проблеми; доста зависи и от логиката.

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

10
Rextor92 avatar Rextor92 149 Точки

Потвърждавам, беше по-труден от други, които съм решавал.. Но пък на другите никога не съм отделял 6 часа, а на този ги мислих през цялото време и накрая се получиха нещата.. Като изключим няколко теста на четвърта, които ми гърмяха или ми даваха Memory Limit Error (да, толкова се омазах) и въпросните 90 точки на пета :D

На втора направих един речник, всички възможни проверки - дори в едиин момент поспорих с квесторите, че решението ми е перфектно и не може да не ми дава 100 точки. Тези три думи в условието, които изискват StringSplitOptions.RemoveEmptyEntries много лесно се пропускат.

След като оценяването се прави на база общото преставяне няма лошо и да са по-трудни задачите. Да видим от рано какво ни очаква :) Знае ли се кога очакваме резултати?

2
30/08/2015 21:06:23
s_andreev avatar s_andreev 5 Точки

Сега разгледах тестовете на 4-та задача. По-специално тест №2, който дава грешка при повечето колеги, включително и при мен. Във файла test.002.in.txt са записани следните входни данни:

-20 -20
-10 -20
0 0
-20 0
20
2

Ред 3, обаче противоречи на условието на задачата, а именно: "The device can only be used within rectangular rooms", защото фигурата, която се получава така, е трапец:

В зависимост от начина на решаване се получават различни резултати: например при мен е 67, тъй като описвам правоъгълника по точки А и C, и обхождам с вложен цикъл от долен ляв ъгъл нагоре и надясно. При решение по квадранти или с друго определяне на граничните координати ще се получат други резултати.

Поздрави за изпита, задачите определено бяха изцеждащи, разбира се сега вече изглеждат фасулски! :)

P.S. Ако наистина се окаже, както изглежда дотук, че тест №2 е сгрешен, какво следва от това?

2
31/08/2015 00:15:54
enevlogiev avatar enevlogiev 1168 Точки

Току-що и аз го открих, упорито ми гърмят 2-ри и 8-ми тест. Решението ми като цяло е безумно, но да, 2-ри тест гърми, защото фигурата не е правоъгълник. Коректното в случая е да се смени теста и да се пуснат всички решения наново. 8-ми тест гърми, защото джъджа е настроен за 0.1 секунди лимит, а в задачата пише 0.25. Аз го минавам за 0.15 ; )

0
enevlogiev avatar enevlogiev 1168 Точки

Адмирации за колегите, изкарали точки от 4та задача! Аз не мога да разбера условието : D Някой, ако е разбрал, да помага. Кои са тия точки, дето се броят и какво е Н??

0
Rextor92 avatar Rextor92 149 Точки

H e стъпка. Аз си представих, че кръга е вписан в квадрат, и започнах да го обикалям квадрант по квадрант (От 0,0 на северозапад, североизток, югоизток и югозапад), с два вложени for цикъла (за настрани и нагоре/надолу) при които имам for (double i = 0; i < radius; i += step (H) ) и с break-ове, ако i стане по-голямо или равно на някоя от страните на правоъгълника. Всяка намерена точка добавях в List<string>, като след това изкарах Count на Distinct елементите на този лист.

По-късно през деня си разглеждах решенията и усетих, че имаше и една идея по-лесен начин; но така сведох проверките на точки, които НЕ са в рамките на телепорта до минимум.

Edit: Много Paint skills. Разстоянието между зелените точки (тях броим) е постоянно и е H - стъпката. Всички точки, които са на разстояние, което се дели точно на H от центъра на кръга И са вътре в стаята И вътре в кръга отговарят на условието.

4
30/08/2015 21:26:03
enevlogiev avatar enevlogiev 1168 Точки

@Rextor92.
Човек, мерси за зелените точки, най-накрая разбрах какво се брои : ) Аз си мислех, че се почва с радиус H oт центъра и постоянно въпросния кръг се разширява. Като цяло супер приятна задача, жалко че е нямало една ей такава картинка в условието.

Отделно, мисля че не е коректно да се дава сплитване по повече от един уайтспейс. Всичко останало ми изглежда малко или много нормално. Имало е доста неприятни задачи по изпити, примерно Longest Alphabetical Word. A самото сплитване изобщо не е сложно, просто не съм сигурен дали е учено.

Определно изпитът е по-сложен от предишните 3-4, И все пак това е плюс, защото при колегите от 4-тия випуск се получи доста сериозна дупка в сложността и те изобщо не бяха готови за Advanced C# изпита. Вие се гответе, да не се налага пак да има извънреден изпит : )

Успехи в СофтУни : )

1
Filkolev avatar Filkolev 4482 Точки

Постарах се да обясня 4-та в началото на изпита, но може би просто визуално е трябвало повече да се помисли как да се покаже в самото условие. Не е лесно и с нулевите тестове да се покаже идеята.

0
Lamms avatar Lamms 197 Точки

И на мен ми се стори по-сложeн и по-специално трета и четвърта задача. Разгледах и резултатите, хората масово са се затруднили.    

Първите две задачи не ми се видяха сложни, с изключение на отрицателните уъркаути?!

Трета задача обаче въобще не беше стандартна трета, дори напротив, решавала съм доста от старите изпити и там се решаваха по един и същи начин с new string. Успях да я реша и тази, но ме затрудни.

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

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

4
sholeto avatar sholeto 93 Точки

Аз на доста от пробните изпити, които съм си правил последния месец съм стигал до положение, в което не ми стига времето. И стигам до там, че проверявам input-а, който не е наличен по време на изпит. На мен проблема ми е, че трудно се концентрирам докато чета условията, по-приятно ми е да тръгна да пиша програмите. И в последствие пропускам важните неща от условията. Резултата, който постигнах е нормален за мен, даже малко над нормалния бих казал. :D

Сега гледам авторските решения:

  1. Daily Calorie Intake - не взимам в предвид, че броя на тренировките може да е отрицателен, само проверявам дали не е нула. А не знам колко пъти го прочетох това докато се втренчвах в листа да открия някакъв дребен детайл, който пропускам. :D
  2. The Football Statistician - трябва да се принтират всички отбори, независимо дали участват в мачове. Аз принтирам само тези от мачовете, една грешка в крайния ми резултат заради това. А това за множеството спейсове няма да го коментирам, сигурно след 40-50 мин преглеждане на условието го видях. Хем беше болднато, вината си е в мен. :D
  3. Striped Towel - стори ми се лесна задача, тук няма какво толкова да се обърка.
  4. Teleport Points - неприятна задача, но за сметка на това готино написано условие. Тук решението ми се различава повече от авторското, трябва повече да се почудя за да намеря грешката. Но при последния input вади грешен резултат, който е на границата дадена в условието. Иначе в една от домашните помня, че имахме да намираме дали дадена точка се намира в правоъгълник и окръжност, направо си копирах от там функцията за проверка на окръжността. :)
  5. Wave Bits - тук ползвах стрингове, и грешката ми идва пак от крайна ситуация, където цялото двуично число е wave. Иначе виждам как побитово решение на подобна задача би помогнала човек да си развива логическото мислене, все още не ми е по силите да го направя в рамките на времето за изпита.

 

Може много извинения да си измислям, но в крайна сметка съм си виновен аз. В реална ситуация винаги ще може да се види кога ви гърми програмата. При изпита това го няма, най-вероятно за да се види кой има внимание към детайлите. Моето внимание бързо се изчерпва. Важното е човек да не се предава. :D

1
30/08/2015 22:37:06
xpucu avatar xpucu 26 Точки

А какво следва оттук нататък - кога да очакваме оценки, прием и записване? Съответно, записване и за университетите?


======
За изпита...

Поради липса на време за подготовка, си бях решавала само 1/2/3 задача от предишните и целта ми беше да реша и същите задачи на изпита. 300те точки ми се получиха за около 4 часа.

Специално за тях не мога да кажа, че бяха по-трудни. Както винаги - имаше уловки, аз лично забих на първа на това, че workouts може да са отрицателни... Note to self: гледай constraints, не логиката :D Втора задача, в сравнение с минали беше по-лесна откъм логика, но мнооого повече откъм писане, като Паисий се почувствах и бях убедена, че някъде ще гръмне заради правописна грешка в името на някой отбор. E, сигурно ако бях понаучила малко повече функции, вместо да пиша десетки иф-ове, нямаше да е такава драма, ама нейсе. При първия опит се оказа, че съм объркала точките при равен (давах по 1 т. само на един от отборите). Онова с болда го бях прочела иначе, но съм го направила трим-а не с метода от авторското, а с регекс (s+).

Чергата на мен лично ми беше най-лесна. От тия за рисуването обикновено, даже по-лесна ми се видя (от гледна точка, че по-малко математически изчисления са нужни). Отне ми малко време, да видя патерните, но си  ги нарисувах на листче и ми се получи :P

@s_andreev:

Едва ли нещо "следва". Оценката се определя от общата успеваемост, а ако теста е бил грешен наистина, то е бил еднакво грешен за всички : ) Като гледам, никой не е решил 4та със 100 т. , а 5та май само един беше стигнал до 100, което говори, че тези двете наистина са били по-труднички явно.

 

 

0
valentin94 avatar valentin94 1 Точки

А някой знае ли при неуспешно представяне, кога може да се явим пак и дали трябва да се запишем за съответния курс отново, за да се явим? 

0
expressingx avatar expressingx 21 Точки

Много гаден изпит, да. Първа задача получих 75 точки само, кой да се сети за отрицателните workouts, но вече мина. Втора задача я направих много грозно с много if-else, но във visual studio и 2-та нулеви тестове работиха и да сложа кода в judge и хоп появи ми се препълнен масив и съответно 0 точки. Трета задача беше трудна в сравнение с минали изпити, измислих как да ги чертая, но така и не успях да ги чертая N пъти. Ползвах булева както в авторското, но все нещо не ставаше. Пета измислих как да я реша, но вече докато шофирах обратно към вкъщи. 

1
ivajlotokiew avatar ivajlotokiew 2 Точки

Здравей,

На мен лично третата задача ми беше значително по-трудна от същия тип задачи на предишни изпити. Би ли показала как си я решила?

2
Miroslav1999 avatar Miroslav1999 23 Точки

Вече можем да си видиме оценките от изпита.

1
Willbe.S avatar Willbe.S 5 Точки

Моите впечатления от изпита - първите 3 задачи ми се сториха горе-долу нормални, като изключим уловките... 4-та просто изключих, изобщо не разбрах условието и така и не стигнах до решение... 5-та с битовете си беше стандартна, не можах да се концентрирам напълно над нея (все си мислех за 4-та) и не я реших както трябва, предполагам, че с малко повече внимание и концентрация можеше да се направи

Това ми е решението на 3-та задача, тя ми беше най-интересна от тези, които успях да реша

http://pastebin.com/d1kSzwyb

1
radort avatar radort 8 Точки

Здравейте мога ли да попитам каква оценка трябва минимум за да успеем да влезнем?

0
Lamms avatar Lamms 197 Точки

Трябва да си получил mail дали влизаш. Този  път и 75 точки са стигали за 3.

 

 

0
01/09/2015 09:29:21
slavpetroff avatar slavpetroff Trainer 155 Точки

На мен първа и втора ми се сториха лесни.За втора пописах малко повече,но и на двете извадих 100.Трета задача,обаче,съдрах си дупето (да не кажа по-грозната дума),но така и не можах да я направя за четвъртия ред.Винаги ми гърми при вход 9,10,17,18 .. и т.н.Накрая даже се ядосах и реших да направя цикъл да обходи числата и да ги вкара в черен списък.Не съм я довършил,защото се отказах.Някой,ако успее да схване идеята от кода ми,моля да удари едно рамо.Защо винаги гърми с тези числа за вход?

http://pastebin.com/f6dZNMT0

0
Innos avatar Innos 419 Точки

Погледнах ти задачата колега и проблема е в логиката с която чертаеш редовете, обикновено в този тип задачи трябва да погледнеш примерите и да си изведеш някаква обща логика която ще е валидна за всички ситуации. Примерно аз като погледна задачата виждам че на примера в които N = 5 чергата е широка 5 символа и дълга 7 символа, на примера в които N = 7 чергата е широка 7 символа и дълга 10 символа, на N = 9 е широка 9 символа и дълга 13, така мога да достигна до извода че чергата е широка N елемента и дълга N+N/2 елемента. Ако мислиш за нещата с формули ще намериш веднага как да начертаеш редовете, шарката примерно се вижда че е на всеки 3ти елемент. Виждам че условието те е объркало да си мислиш за ".." като един елемент, но точно за това е важно в тези задачи да се вгледаш в примерите за да си изведеш логиката от там вместо да напасваш за всеки ред.

1
02/09/2015 03:49:16
slavpetroff avatar slavpetroff Trainer 155 Точки

Благодаря за отделеното време!Ще преразгледам отново задачата,благодаря за коментара!

0
Daniel_Iz avatar Daniel_Iz 9 Точки

Стори ми се по-труден, особено 2-ра 4-та и 5-та задача. Тях така и не ги реших.

 

Третата ми беше доста лесна, и след около 30-40 минути мислене я разгадах. Реших я с два for цикъла и 6 if-а. Общо около 40 реда код.

 

Първата я мислих супер много време, докато я реша. Почнах от 12 точки. После 25, 37,50, 62, 87, 100... Общо взето ми отне много време да се сетя да използвам Numerics библиотеката, както и Math.Floor и да забележа, че за female формулата е 655, а не 665.

 

Ето и моите решения на задачите.

 

Първа - http://pastebin.com/gLJ4RLdK

 

Трета - http://pastebin.com/8Q9zcSwY

 

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

 

Поздрави :)

1
02/09/2015 03:05:30
enevlogiev avatar enevlogiev 1168 Точки

Много рядко поствам подобни мнения, обаче понеже много разпалено обсъждахте 3-та задача, реших да я погледна.

Ей този ред дава 100 точки:

for (int i = 0; i < (int)(width * 1.5); i++)
{

      Console.WriteLine(string.Concat(Enumerable.Repeat("#..", 51)).Substring(i % 3, width));
}
           

Само трябва да вземете width от конзолата : )

2
Filkolev avatar Filkolev 4482 Точки

Малко извратено идва това. Доста е неефективно откъм памет и скорост. Една идея по-добре би било ако конкатенацията се извади преди цикъла и в него се взимат само събстринговете. Като цяло доста се дъни откъм КПК :) Но пък е интересно като алгоритъм.

1
enevlogiev avatar enevlogiev 1168 Точки

"Малко извратено идва това."

Това му е идеята : )

"Доста е неефективно откъм памет и скорост."

Само откъм памет.

"Една идея по-добре би било ако конкатенацията се извади преди цикъла и в него се взимат само събстринговете."

Знам

"Като цяло доста се дъни откъм КПК :) "

И туй го знам : )

"Но пък е интересно като алгоритъм."

Просто ми хрумна и тествах. Винаги е интересно като решиш изпитна задача на един ред. Не много го позволяват обаче : )

0
Filkolev avatar Filkolev 4482 Точки

На всяка итерация извършваш конкатениране и вадене на събстринг, и откъм време е неефективно в сравнение със стандартния подход :)

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