Loading...
LAFLARE7777 avatar LAFLARE7777 0 Точки

Въпрос за задача Counter-Strike

Здравейте , имам въпрос за задача Counter Strike от exam preparation. https://judge.softuni.org/Contests/Practice/Index/2305#0

 

Judge ми дава 71/100 мисля , че съм пробвал възможните edge cases + върти безкраен цикъл някъде.

https://pastebin.com/zc8Z8u2R

 

Тагове:
0
Fundamentals Module
Axiomatik avatar Axiomatik 2422 Точки

;-)

function counterStrike(input) {
    let energy = Number(input.shift());
    let distance = input.shift();
    let gamesWon = 0;

    while (distance != "End of battle") {
        // if (Number.isNaN(energy)) {
        //     energy = 0;
        // }

        let numDistance = Number(distance);

        // The energy you need for reaching an enemy is equal to the distance you receive. 
        // Each time you reach an enemy, you win a battle, and your energy is reduced. 
        if (energy >= numDistance) {
            gamesWon++;
            energy -= numDistance;
        } else {
            // if (energy <= -1) {
            // }
            // energy = 0;

            // Otherwise, if you don't have enough energy to reach an enemy, end the program and print: 
            // "Not enough energy! Game ends with {count} won battles and {energy} energy".
            console.log(`Not enough energy! Game ends with ${gamesWon} won battles and ${energy} energy`);
            // subtract from energy in order to avoid printing win message below
            energy -= numDistance;
            break;
        }

        if (gamesWon % 3 === 0) {
            energy += gamesWon;
        }

        distance = input.shift();
    }

    // if (distance === "End of battle") {
    if (energy >= 0) {
        console.log(`Won battles: ${gamesWon}. Energy left: ${energy}`);
    }
}

 

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