Решение задачи "Kana и игра Dragon Quest" с Codeforces

Без пояснения   Просмотров: 29


Кana была обыкновенной старшекласницей, пока ее не обнаружил разведчик талантов. Теперь она стала идолом. Но, в отличие от стереотипа, она обожает играть в игры.

Однажды Kana заинтересовалась новой игрой, которая называется Dragon Quest. В этой игре она должна победить дракона.
У дракона есть некоторое количество очков здоровья, которое изначально равно x. Когда количество его очков здоровья становится равным 0 или меньше 0, он погибает. Для того, чтобы победить дракона Kana может использовать два типа заклинаний.

Поглощение пустотой
Предположим, что текущее количество очков здоровья дракона равно h, после применения этого заклинания количество очков здоровья станет равным ⌊h2⌋+10. Здесь за ⌊h2⌋ мы обозначаем число h, разделенное на два с округлением вниз.

Удар молнии
Это заклинание уменьшает количество очков здоровья на 10. Предположим, что текущее количество очков здоровья дракона равно h, после применения этого заклинания, количество очков здоровья уменьшится до h−10.

По некоторым причинам, Kana может применить не больше чем n Поглощений пустотой и m Ударов молнии. Она может применять заклинания в любом порядке и не обязана применить все эти заклинания. Kana не очень хороша в математике, поэтому она просит вас помочь ей определить, сможет ли она победить дракона.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t, x, n, m;
    cin >> t;
    for(int i = 0; i < t; ++i){
        cin >> x >> n >> m;
        while(n-- && x > 20){
            x = x/2 + 10;
        }
        x -= m * 10;
        if(x <= 0)
            cout << "YES";
        else
            cout << "NO";
        cout << endl;
    }
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться