[Exam Problems] Programming Basics Exam 29 March 2015 Morning - Задача 2 - Basket Battle
Мисля, че в Judge-а при един от тестовете има грешка!
В задачата е казано:
"Each round consists of the two players shooting."
...
"A player can’t make more than 500 points in the game. For example if a player has 450 points and he scores successfully 90 points, the player stays with 450 points after that round."
Ето това е моят код:
На ред 39 и 40 (след края на рунда) ако точките на играчите са надхвърлили 500 отнемам последно спечелените точки, както се изисква в условието на задачата.
Но в Judge-а ми дава 90 точки - дава грешен отговор на тест 2.
Като преместя 39-я ред след 28-я (след "if (isWiner) break; "- за 1-я играч) ми дава 100 точки.
Само че според мен края на рунда е там където се затваря цикъла който брои рундовете, а не след като е играл 1-я играч!
Не съм го пропуснал. На ред 28 и 37 ("if (isWiner) break;")се осъществява прекъсването ако текущия играч е достигнал 500 точки. Въпросът е, че ако е 2-я играч в текущия гейм а 1-я е надхвърлил 500 точки гейма се прекъсва и не се стига до края му т.е. точките на прехвърлилия 1-ви играч не се намалят според условието на задачата. Общо взето има момент на тълкование. Мисля, че е трябвало да се каже, че точките се изваждат (когато надхвърлят 500) след изпълненито на текущия играч а не в края на гейма.
Точките не се изваждат, а просто не се добавят ако сумата ще надхвърли 500. Това е особеност на твоята имплементация, а не на условието.