[Exam] Java Basics - Впечатления от изпита :) - Май 2014
Здравейте колеги,
Какви са ви впечатленията от изпита, с каква трудност бяха задачите , имасше ли проблеми с времето за компилиране в judge.
Здравейте колеги,
Какви са ви впечатленията от изпита, с каква трудност бяха задачите , имасше ли проблеми с времето за компилиране в judge.
Много хора под 100 точки днеска...
За първи път попадам на изпит, където задачите да ми се сторят с еднаква трудност. Може би така ми се струва, но определено не мисля, че имаше задача, която да решиш ей така от раз. Но пък нямаше и прекалето сложни неща.
Искам да кажа и едно голямо браво за организацията на изпита. Интернетът беше ОК, местата в залата не стигнаха, но всички се наместиха някъде. Изпитът започна навреме. Спокойна атмосфера, направо перфектно!
Напълно подкрепям.Според мен също бяха сложни, по-сложни от задачите, които са показани на подготовките за изпита.
Аз, лично очаквах явно по-лесни, съпотсвими със C# Basic. Явно е трябвало много повече подготовка.
Само аз ли не разбрах че първия примерен тест на 2.Problem - Sum Card e грешен трябва да е 85 и дебъгвам и се чудя
4 тия тест също е грешен бай дъ уей
ааа не е грешен тва sequentially трябва да е последователно, моя речник не изкарва подобна дума добре аз съм с грешка явно... да съм гледал :(83 е колега, и аз се заблудих в началото ама после си прочетох цялото условие.
Колега мисля, че теста си е верен. Сигурно си се подвел по 2-ките, но в условието пише, да удвояваме сумата, само на наредените еднакви символи (първите 3 са наредени, а четвъртата е отделно).
2C 2H 2D = 12
AS = 15
10H 10C = 40
2S = 2
KD = 14
______
83
Беше ми сложен. Изкарах 90 точки от втора задача и т'ва беше.. :\
Здравейте, колеги! Интересно ми е как така имам 220 точки от изпита, плюс всички домашни, а сега ми пише 0 точки в judge?!?! Моля някой ако знае, особено от екипа на Софтуни, да обясни какво значи това и защо е така?!
Иначе и на мен ми се видя доста над нивото на C#. Трябваше да е подобен, ама е по-труден, мое мнение. Така и не разбрах, как ми дава тайм-лимит на 4 отговора, 3 признава, други 3 тотално грешни! Ще очаквам с нетърпение да видя решенията, защото вкъщи всички задачи са ми под 0.3, а на изпита за 4 вложени цикъла и 4-5 иф-а имам 0.75....
Отначало и аз имах 3 timelimit-а на първа задача, но малко я оптимизирах и си мина.
Според мен генерирането на низовете гълта по-голямата част от времето.
Неоптимизиран вариант - 70/100 - http://judge.softuni.bg/Contests/Submissions/View/28493
Оптимизиран вариант - 100/100 - http://judge.softuni.bg/Contests/Submissions/View/29149
И аз бях днес на изпит. Имам 400/400, но с голяма мъка и то по-конкретно на последната задача. За около час реших първите 3 и после зациклих на 4-тата и над 3 часа се мъчих с нея. Проблемът беше, че тръгнах по-доста по сложен начин, а после с колегите обсъдихме и видях че има варианt и по-лесно да се реши. Ползвах TreeMap, вътре HashMap и вътре TreeSet .И по едно време много се оплетох, като трябваше да достигам до вътрешният сет и да добавям работи. Се пак всичко мина добре .. Поздравления на всички които са доволни от резултата си, а на тези които не са ще чакат поправка :)
Точно на последната задача беше яко гадно! И аз тръгнах с тези вложените, но синтаксиса бе побърка, едвам добавях стойности, но те се триеха, заради еднаквите ключове, голяма мъка с тоя синтаксис беше, поне 30 мин....За другите задачи наистина ми е интересно как начинаещ ще ги реши, аз стигнах до примерните отговори от самите листи, но при автоматичното....Дано съм го взел... И ако може да ми кажеш как добавяш стойност в Map<String, TreeSet<String>> primer=new TreeMap<String, TreeSet<String>>();
Благодаря!Беше много кофти, и аз 3 часа отделих на нея и се загубих в мислите си просто- поне 3-4 пъти си казвах, че няма начин да е толкова сложно и се опитвах да измисля по-прост начин, но все пак го докарах до края. Тук съм публикувал решенията си от изпита можеш да ги разгледаш !
Ето моето скромно решение. И аз се подлъгах да почна с мапс, обаче се оплетох яко в синтаксиса. Затова я реших с два сета и един ArrayList<String[]>. Всеки масив в листа е сплитнатия ред данни. След това итерирам пред листа и добавям всеки втори елемент от всеки масив в сет. Така получавам сет с уникални имена на потребители.
След това завъртам един цикъл, който итерира всички стойности на сета с потребителите. В него - цикъл, който итерира през листа с масиви, като вътре проверявам дали втората стойност на масива е равна на името на потребителя. Ако е равна - добавям първата стойност в масива в нов сет, който пази ID и събирам третата стойност в променлива, която брои продължитеността на сесията. Така, като приключи този цикъл, имам сет с всички уникални ID и общата продължителност. Форматирам изхода, принтирам го, нулирам сета за ID и продължителността на сесиите и отново завъртам вътрешния цикъл за следващия потребител.
for (int i = 0; i < numberOfLines; i++) {
line = scanner.nextLine().split(" ");
rawInput.add(line);
users.add(line[1]);
}
int visits = 0;
Set<String> IPs = new TreeSet<String>();
for (String userName : users) {
for ( int i = 0; i < numberOfLines; i++) {
if (rawInput.get(i)[1].equals(userName)) {
visits += Integer.parseInt(rawInput.get(i)[2]);
}
}
for (int i = 0; i < numberOfLines; i++) {
if (rawInput.get(i)[1].equals(userName)) {
IPs.add(rawInput.get(i)[0]);
}
}
System.out.println(userName + ": " + visits + " " + IPs);
visits = 0;
IPs = new TreeSet<String>();
}
120 : ))) Очаквам поправката.
Е кво очакваш, нали минаваш? :D
Това няма как да се знае, докато не излезе крайното класиране, вероятно пак ще има скалиране на резултатите, щото днес беше най-слабия ден....Пък и с една задача, май е трудна работа..
Според мен изпита вчера 01.06.2014 не беше по-труден от входния изпит по C#. Интернета беше постоянен и judge системата си работеше коректно.
Напълно подкрепям мнението на колегата, който спомена, че нямаше силно изразена разлика в трудността между отделните задачи. Аз лично 4-та задача я реших с 2 HeshMap-a ( <String, Long> и <String, ArrayList<String> ) и това май ми беше най-лесната задача. Подводните камъни за мен се оказаха два:
1. В първа задача когато се създават низове за сравнение а|b==c|d правих кастването Integer.toString(число), което първо създава обект, пък на този обект му прави парсване и т.н. вместо това "" + число и затова в тази задача имам 3 Time Limit грешки.
2. В трета задача вместо да ползвам правилните регулярни изрази върху числовия изра зада извлека числата и значите ( + и - ) между тях, аз си разписах цялата логика по парсването и разбирасе изкочиха случаи, които не бях обработил като например -число-число.
Най-важното за което аз съм се записал обаче е налице, а именно допопълване на знанията :)
Успех на всички с предстоящите курсове и изпити.
Не мога съвсем да се съглася с теб, колега. На приемния изпит имаше задача, която се решаваше с 3-4 ифа и проста сума на числа....А тук иначе си прав, задачите бяха близки по трудност, но както и да е, нивото ще се повишава, но се надявам, че ще е съобразено все пак и с начинаещи, защото нали това е идеята на Софтуни!
И аз съм съгладен с арсоман,не критикувам или хейтвам но според мен за начинаещи е много трудно да се усвои целия материал за толкова време,но каквото такова.....продължаваме напред,света несвърша :дд
Стига бе, не мисля,че има база за сравнение, при положение,че изпита на C# , 3 от задачите ми се решаваха с 10 реда код и то елементарен, тук си се искаше доста повече да знаеш кое как става и кое как се ползва. Лично мнение :) Аз се осрах, ще чакаме поправката.
Аз бях на първи юни a.k.a. вчера..
Впечатления на трезва глава:
- Задачите бяха напълно решими.. Когато се прибрах и ги разгледах, просто се учудих какви глупости съм вършил
- Когато се ходи на изпит, трябва да се мисли само и единствено за изпита и нищо странично! ЗАКОН
Какво направих аз:
- Тръгнах да решавам по много изкривени начини, избягах от простичките и ефективни решения и резултатът е налице - След първите 2 часа бях на нулата, това допълнително ме изнерви.. а на всичкото отгоре и концентрацията ми беше на нула..
- От там последваха поредните глупости като например да не можеш да напишеш "[+- ]+" или да опитваш чрез въртенето на цикли да избягваш повторения вместо просто да сравниш с един if блок дали текущите елементи съвпадат...
- Брой точки: 70, на фона на 289 на приемния.. но вината не е в задачите, а в самия мен, защото аз лично можех да ги реша и бяха много приятни между другото, но.. както и да е
Най-важното, което се получи вчера.. Ужасният ми резултат ме надъха! Разбрах какво трябва и какво не трябва да се прави на изпит!
Успех на всички!
Не съм сигурен, предполагам - скоро :)
Резултатите вече са качени :)
Аз се явих на 01.06. Лесните задачи за мен бяха 4-та и 3-та. Първите 2 събмита на 4-та не ми даде максимума, само защото бях забравил да сортирам резултатите. За нея реших да карам по по-простия вариант - 3 Map-a, като 3-тия map ми сортира / изтрива дубликациите на IP-тата. 3-та също не ме затрудни, не съм ползвал regular еxpressions на нея. Досетих се, че трябва да се ползва BigDecimal. За 1-ва и 2-ра загубих 2 часа в началото без да стигна до резултат за събмит-ване. След като реших 3-та и 4-та се върнах към първите две, изтрих почти всичко и започнах наново. Реших и тях. Определено имаше много уловки, на които неопитни (начинаещи) програмисти биха се хванали. Няколко пъти се усмихвах на ум като усетя някоя. За мен, тези задачи не бяха в никой случай лесни. Поздравявам всички, които са се справили!