Определить, можно ли перелететь через пропасть - Turbo Pascal
Формулировка задачи:
Добрый вечер! Помогите, пожалуйста, решить задачу:
На пути вашего героя встретилась пропасть шириной s метров. До ближайшего моста идти очень и очень долго, поэтому вы решаете перелететь через нее. Для героя единственный способ летать — выпить зелье левитации. Одна выпитая бутылочка зелья позволяет лететь в течении k секунд со скоростью v м/c. К несчастью, самого зелья у героя с собой нет, зато есть рецепт зелья,все необходимые для его изготовления приборы и какие-то ингредиенты. Из рецепта известно, что для приготовления зелья левитации нужно n ингредиентов, причем i-го ингредиента нужно ai штук. У героя же есть bi этого ингредиента.
По необходимому и имеющемуся количеству каждого из ингредиентов определите, сможет ли герой сварить достаточно зелья, чтобы перелететь через пропасть, или же придется все-таки идти в обход?
Входные данные
В первой строчке идет число s — ширина пропасти. Затем на этой же строчке даны числа k и v – сколько секунд и с какой скоростью позволяет лететь одна выпитая бутылочка зелья. Во второй строчке дано число n ≤ 100. Дальше идут n строчек. В каждой из них записаны два числа: ai > 0 — сколько порций i-го ингредиента необходимо для изготовления одной бутылочки и bi ≥ 0 — сколько порций этого ингредиента есть у героя.
Выходные данные
Если герой сможет перелететь через пропасть, выведите "YES", иначе выведите "NO" (без кавычек).
Примеры:
Входные данные:
1 1 1
2
1 1
2 2
Выходные данные:
YES
Входные данные:
1 1 1
2
1 1
2 1
Выходные данные:
NO
Разобрался. Может, кому-то поможет
Листинг программы
- var
- n,a,b,i,s,k,v: integer;
- z:real;
- begin
- read(s,k,v);
- z:=s/(k*v);
- readln(n);
- for i := 1 to n do
- readln(a,b);
- if b>=a*z then
- writeln('YES')
- else writeln('NO');
- end.
Решение задачи: «Определить, можно ли перелететь через пропасть»
textual
Листинг программы
- for i := 1 to n do
- readln(a,b);
- if b>=a*z then
- writeln('YES')
- else writeln('NO');
Объяснение кода листинга программы
- В цикле for перебираются значения переменной i от 1 до n.
- Для каждого значения i считывается значение переменных a и b с помощью функции readln.
- Проверяется условие b>=a*z.
- Если условие выполняется, то выводится строка 'YES'.
- Если условие не выполняется, то выводится строка 'NO'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д