Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 декабря 2022 01:38
1002
Сдать решение задачи 2-Ну все, я попрыгал!Полный балл: 100
Ограничение времени: 1 с
Ограничение памяти: 512M
Ограничение размера стека: 64M
Задача 2: Ну все, я попрыгал!
Персонаж известной компьютерной игры Марио постарел и почти перестал прыгать. Но совсем недавно он увидел спуск из N ступенек, и его накрыло ностальгией. Марио встал на самую верхнюю ступеньку и решил преодолеть этот спуск при помощи прыжков.
Когда-то Марио знал тысячи различных видов прыжков, но теперь он смог вспомнить только два: короткие и длинные. Короткий прыжок позволяет спуститься на произвольное число ступенек, не большее X, а длинный — на произвольное число, не большее Y (X < Y). Но в силу возраста Марио не может делать два длинных прыжка подряд и вынужден между ними совершать хотя бы один короткий. При этом Марио не хочет слишком уж сильно ухудшить свои прошлые результаты и поэтому постарается обойтись как можно меньшим числом прыжков.
Помогите Марио посчитать минимальное количество прыжков, требующееся для преодоления всех N ступенек.
Входные данные
В первой строке входных данных записано целое число X — максимальная длина короткого прыжка.
Во второй строке записано целое число Y (1 ≤ X < Y < 1018) — максимальная длина длинного прыжка.
В третьей строке записано целое число N (1 < N < 1018) — количество ступенек в спуске.
Выходные данные
В единственной строке выведите целое число — минимальное число прыжков, необходимое Марио для спуска.
Система оценки
Решения, правильно работающие только для случаев, когда X, Y и N не превосходят 105, будут оцениваться в 35 баллов.
Решения, правильно работающие только для случаев, когда X, Y и N не превосходят 109, будут оцениваться в 50 баллов.
Примечание
Обратите внимание, что входные данные, а также ответ могут быть достаточно большими, поэтому следует использовать 64-битный тип данных, например long long в C/C++, long в Java и C#, int64 в Pascal.
2
ответа
Ответ:
#include <iostream>
using namespace std;
int main()
{
long long int x, y, n, ans;
cin >> x >> y >> n;
if(n%(x+y)==0)
{
ans = n/(x+y)*2;
}
else if(n%(x+y)>y)
{
ans = n/(x+y)*2+2;
}
else
{
ans = n/(x+y)*2+1;
}
cout << ans;
return 0;
}
Объяснение:
для g++(с++)
#include <iostream>
using namespace std;
int main()
{
long long int x, y, n, ans;
cin >> x >> y >> n;
if(n%(x+y)==0)
{
ans = n/(x+y)*2;
}
else if(n%(x+y)>y)
{
ans = n/(x+y)*2+2;
}
else
{
ans = n/(x+y)*2+1;
}
cout << ans;
return 0;
}
Объяснение:
для g++(с++)
0
·
Хороший ответ
2 декабря 2022 01:38
Ответ:
X = int(input())
Y = int(input())
N = int(input())
if (N % (X + Y)) == 0:
print(int((N / (X + Y)) * 2))
else:
if (N % (X + Y)) <= Y:
print(int(((N // (X + Y)) * 2) + 1))
else:
print(int(((N // (X + Y)) * 2) + 2))
=============================
На Python
X = int(input())
Y = int(input())
N = int(input())
if (N % (X + Y)) == 0:
print(int((N / (X + Y)) * 2))
else:
if (N % (X + Y)) <= Y:
print(int(((N // (X + Y)) * 2) + 1))
else:
print(int(((N // (X + Y)) * 2) + 2))
=============================
На Python
0
2 декабря 2022 01:38
Остались вопросы?
Еще вопросы по категории Информатика
Ондық кодтарға берілген мына символдарды анықтап,жасырылған сөздерді ата....
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью vкилометров в час....
Помогите! Столбец таблицы содержащий определенную характеристику объекта, это: Отчет поле запись ключ...
Информационное сообщение объемом 1,5 Кб содержит 3072символа.Сколько симфолов содержит алфавит,при помощи которого было записано это сообщение?...
СРОЧНО! Как называется информационный процесс, который использует ученик при запоминаниии формул? А) хранение информации Б) передача информации В...