Проблеми с подготовката за изпит.
Здравейте колеги,
пиша за да разбера дали и други хора имат проблеми с подготовката за изпит. Визирам примерните изпити от февруари и март 2015 в Judge. Конкретен пример, с който да опиша положението е изпит Март 2015, задача 3. Погледнах я - казах си лесно - написах я, ползвайки регекс и получавам 40/100. Бъхтя се, мъча се, променям регекса, изчиствам каквото има да се изчисти - 40/100. Викам си - добрe, знам, че тоя изпит Божо го решава в exam prep-а на 13.04, така че. дай да видя. Качен е грешен сорс код, затова отварям видеото и гледам. Логиката на Божо е на 100% същата, аз съм направил 2 метода повече и ги контролирам от един switch, а той просто има if{}else.
Линк към Гит: https://github.com/achobanov/Java-exam-march/tree/master/src/exam
P03BasicMarkupLanguage.java - моето решение (40/100)
P03Bojo.java - решението на Божо (изненада).
Другото нещо което ме фрапира е, че когато пусна неговя код в Judge, той ми дава изтекло време на всички тестове ( пробвах 7-8 пъти ).
На всичкото отгоре в неговия код има една глупост, която съм изкоментирал. При така написан код, ако регекса не мачне нищо ще вкараме програмата в безран цикъл while() -> continue, защото не подаваме нова стойност на 'input'. Обаче ако махна този код Judge ми гърми на всеки тест. Пробвах нещата и локално си работи.
Може ли някой да каже - аз ли нещо не разбирам, judge ли не е в час. Моля прегледайте кода на двете решения и ако това на Божо трябва да работи, защото моето получава 40/100 при еднаква логика. Аз сега ще взема тестовете от архива и ще си ги пробвам всички ръчно и ще ъпдейтна поста с резултатите.
Post-testing: Разбрах за какво става въпрос. За решението на Божо нямам никаква представа как работи. Проблемът при мен произлизаше от поредното неуточнено условие. Copy-paste от условието: "You should not output empty lines. For the content tag to be considered non-empty, it must contain at least one character.". Тук изрично се казва "Не принтирай празни редове". Подчертавам редове. Да, в следващата част се казва, че content tag-a не е празен ако има поне един знак в него ( а whitespace си е знак ). Но в крайна сметка ако тага има само whitespace това пак ще резултира в празен ред и следователно НЕ трябва да се принтира. Моля кажете ми ако бъркам логически. Вица за програмиста, хляба и яйцата трябва да го знаете.. Не знам само на мен ли ми се струват много не-доуточнени повечето условия за изпит. Давам друг пример с Problem 2 Parking system. Там изобщо не е обяснено правилно какво трябва да направи колата, ако мястото и е заето. Аз лично смятам тези недоуточнения за доста неправилни, защото единствения начин да ги уловиш е да анализираш тестовете и резултатите в Judge.
Интересно какво имаш предвид, защото аз не виждам какъв е проблема. Споделям някакви трудности, които срещам при подготовката за изпит и искам да видя само аз ли съм на такова мнение, което обикновено означава, че бъркам нещо, или има и други хора, които срещат сходни проблеми.
Заглавието, като начало не е темата на въпроса ти, въпроса ти е свързан с конкретна задача, Judge системата и с условията на задачите. Ти си го кръстил проблем с подготовка за изпит...
Не е само до тази задача. И на други места, както съм посочил срещам проблеми. Освен това и Judge се дуржи странно.