Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 декабря 2022 01:38
1063
Сдать решение задачи 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
Остались вопросы?
Еще вопросы по категории Информатика
Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Входные данные Задано единственное целое число N Выходные данные...
Рассчитайте объем видеопамяти, необходимый для хранения графического изображения , занимающего весь экран монитора с разрешением 1280 на 1024 и палитр...
В одном множестве 40 элементов, а в другом - 30.Какое максимальное количество элементов может быть в их: а)пересечении; б)объединении?...
Требуется заполнить массив длиной 5 случайными числами от 100 до 200. from random import randint A = [ ...(100,200) for x in range(5)]...
Уровень A. 1) Введите массив из 5 элементов с клавиатуры и найдите количество элементов, которые оканчиваются на 8 и делятся на 3. 2) Заполните масс...