Задача 3: Два грузчика Студент Шурик в поисках дополнительного дохода устроился на работу —
разгружать почтовые вагоны. В напарники ему дали Федю — опытного матёрого грузчика. И если щуплый Шурик с трудом поднимает бандероли весом a килограммов, то могучий Федя способен перемещать посылки весом b килограммов. Федя и Шурик заходят в вагон, выбирают по одной коробке, которые могут унести по отдельности, и переносят их на перрон. Если вес коробки превышает b, то они её переносят вдвоем. Сколько раз Федя и Шурик войдут и выйдут из вагона (ходят они только вместе и хотят закончить работу как можно раньше)? Входные данные Программа получает на вход три натуральных числа: a, b (1 ≤ a < b ≤ 100) и n (1 ≤ n ≤ 105) — грузоподъемности Шурика и Феди и количество коробок в вагоне, записанных в отдельных строках. В следующих n строках записано по одному натуральному числу xi (1 ≤ xi ≤ a + b) — вес очередной коробки. Выходные данные Выведите одно натуральное число — ответ на вопрос задачи.Ответы на вопрос
Python:
a = int(input())
b = int(input())
n = int(input())
x = [int(input()) for i in range(n)]
count = 0
while True:
if not x: break
try:
if x[0] <= a: del x[0]
elif x[1] <= a: del x[1]
if x[0] <= b: del x[0]
elif x[0] > b: del x[0]
except:
count += 1
break
count += 1
print(count)
# Язык Python 3
a = int(input())
b = int(input())
n = int(input())
count = count_for_a = count_for_b = 0
for i in range(n):
xi = int(input())
if xi > b:
count += 2
else:
if a < xi <= b:
count_for_b += 1
elif 1 <= xi <= a:
count_for_a += 1
if count_for_a > count_for_b:
print((count + (count_for_a + count_for_b) // 2 * 2 + (count_for_a + count_for_b) % 2 * 2) // 2)
else:
print((count + max(count_for_a, count_for_b) * 2) // 2)
Для решения этой задачи можно воспользоваться следующим алгоритмом:
Сначала определите, сколько коробок могут переносить Шурик и Федя по отдельности. Это можно сделать, разделив грузоподъемности Шурика (a) и Феди (b) на вес одной коробки.
Затем начните проходить по каждой коробке в вагоне и решайте, кто будет её переносить.
Если вес коробки (xi) не превышает грузоподъемность Шурика (a), то Шурик переносит её самостоятельно, и это считается одним входом и выходом из вагона.
Если вес коробки превышает грузоподъемность Шурика (a), то Шурик и Федя переносят её вдвоем, и это также считается одним входом и выходом из вагона.
После обработки всех коробок, суммируйте количество входов и выходов, чтобы получить общее количество раз, которое Шурик и Федя войдут и выйдут из вагона.
Вот Python-код для решения этой задачи:
pythona, b, n = map(int, input().split())
single_capacity = a
together_capacity = a + b
count = 0
for _ in range(n):
x = int(input())
if x <= single_capacity:
count += 1
else:
count += 2
print(count)
Этот код считывает значения a, b и n, затем обрабатывает каждую коробку, учитывая их вес, и выводит общее количество входов и выходов из вагона.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
