05. Darts Tourament от ExamPreparation C#
Здравейте! Моля някои да ми каже къде греша. Задачата е 05. Darts Tourament от ExamPreparation.
Условие:
Задача 5. Турнир по дартс
На круизния кораб, на който Ани и семейството й прекарват лятната си почивка се организират различни развлечения за гостите. Ани решила да се запише за участие в турнира по дартс. В тази игра играчът започва с определен брой точки, които се намаляват постепенно и при достигането на точно нула точки играчът печели. На мишената има следните сектори – сектор с конкретен брой точки (number section), сектор, който удвоява точките (double ring), сектор, който утроява точките (triple ring) и център на мишената (bullseye). Ако играчът уцели центъра на мишената, автоматично печели играта. Играчът губи ако точките му станат отрицателни.
Вход
От конзолата първо се чете един ред:
- Първоначален брой точки – цяло положително число в интервала [1 … 1000];
След това последователно се четат по два реда:
- Сектор на мишената – текст с възможности: "number section", "double ring",
"triple ring", "bullseye" - Брой точки – цяло положително число в интервала [1 … 100]
Изход
На конзолата се отпечатва един ред:
- Ако играчът спечели чрез достигане на нула точки:
"Congratulations! You won the game in {брой ходове} moves!"
- Ако играчът спечели чрез уцелване на центъра на мишената:
"Congratulations! You won the game with a bullseye in {брой ходове} moves!"
- Ако играчът загуби:
"Sorry, you lost. Score difference: {брой отрицателни точки}."
Примерен вход и изход
Вход |
Изход |
Обяснения |
150 double ring 20 triple ring 10 number section 20 triple ring 20 |
Congratulations! You won the game in 4 moves! |
Ани започва със 150 точки. В първия ход уцелва 20 точки в двойния сектор и точките се удвояват => 20 * 2 = 40. След това се изваждат от първоначалния брой точки: 150 – 40 = 110. Във втория ход уцелва 10 точки в тройния сектор => 10 * 3 = 30, които отново се изваждат => 110 – 30 = 80. В третия ход уцелва точно 20 точки, които отново се изваждат => 80 – 20 = 60. В четвъртия ход уцелва 20 точки в тройния сектор => 20 * 3 = 60, след което се изваждат => 60 - 60 = 0. Ани достига нула точки и печели играта.
|