Вопрос задан 19.04.2021 в 11:00. Предмет Другие предметы. Спрашивает Свищёва Настя.

Задача A. Кола Имя входного файла: ain.txt Имя выходного файла: aout.txt Ограничение по времени:

0,2 секунды Ограничение по памяти: 64 мегабайта Завод по производству колы изготавливает ее не только для магазинов, но и для всемирно известной сети ресторанов быстрого питания. Ежедневно завод отгружает один и тот же объем колы в литрах. Служба доставки сети ресторанов обычно использует для транспортировки колы емкости объемом или только 50 литров, или только 70 литров. Если доставка осуществляется с помощью емкостей в 50 литров, то для перевозки имеющегося объема колы необходимо A емкостей. А если с помощью емкостей в 70 литров, то необходимо B емкостей. При этом в каждом из случаев одна из емкостей может быть заполнена не полностью. Недавно сеть ресторанов решила утвердить новый объем емкостей для доставки колы — 60 литров. Сколь- ко емкостей теперь может понадобиться для доставки того же самого объема колы? Формат входного файла Входные данные содержат 2 числа A и B, расположенных каждое в отдельной строке (1 ≤ A, B ≤ 10 000 000). Формат выходного файла Выведите все возможные значения для количества емкостей по 60 литров, которые окажутся заполнен- ными (в том числе одна возможно частично), в порядке возрастания или число −1, если значения A и B противоречат друг другу, то есть они были записаны неверно.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сафина Рената.

var A,B, minA, maxA, minB, maxB, minn, maxx, t, t1, i:longint;

begin  

readln(A); readln(B);

minA:=(A-1)*50+1; maxA:=A*50;

minB:=(B-1)*70+1; maxB:=B*70;

if (minA>maxB) or (minB>maxA) then writeln(-1) else

begin

if minA<minB then minn:=minB else minn:=minA;

if maxA>maxB then maxx:=maxB else maxx:=maxA;

t:=minn div 60;

t1:=maxx div 60;

if (minn mod 60)<>0 then inc(t);

if (maxx mod 60)<>0 then inc(t1);

for i:=t to t1 do  

write(i, ' ');

writeln();

end;

end.


не могу сказать верно или нет, так как не проверял а просто написал в блокнотике


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача заключается в том, чтобы определить, сколько емкостей объемом 60 литров понадобится для перевозки заданного объема колы, если известно, что для перевозки этого же объема можно использовать A емкостей объемом 50 литров или B емкостей объемом 70 литров.

Если сначала посчитать, сколько литров колы можно перевезти с помощью имеющихся емкостей в 50 и 70 литров, то это можно сделать следующим образом:

  • Литров, которые можно перевезти с помощью емкостей в 50 литров: 50 * (A - 1) + 30 (если последняя емкость заполнена не полностью)
  • Литров, которые можно перевезти с помощью емкостей в 70 литров: 70 * (B - 1) + 60 (если последняя емкость заполнена не полностью)

Затем нужно проверить, можно ли перевезти такой же объем колы с помощью емкостей объемом 60 литров. Если можно, то нужно определить, сколько емкостей объемом 60 литров потребуется для этого. Это можно сделать следующим образом:

  • Литров, которые можно перевезти с помощью емкостей в 60 литров: 60 * C + X (где C - количество емкостей объемом 60 литров, а X - количество литров, которые можно перевезти с помощью неполной емкости объемом 60 литров)

Если эти два объема колы (перевезенные с помощью емкостей в 50/70 литров и перевезенные с помощью емкостей в 60 литров) не совпадают, то ответом должно быть число -1. Если же они совпадают, то ответом должны быть все возможные значения количества емкостей объемом 60 литров, которые можно использовать для перевозки колы.

Пример решения на Python:

python
with open('ain.txt', 'r') as f_in, open('aout.txt', 'w') as f_out: A = int(f_in.readline().strip()) B = int(f_in.readline().strip()) liters_50 = 50 * (A - 1) + 30 liters_70 = 70 * (B - 1) + 60 if liters_50 != liters_70: f_out.write('-1\n') else: total_liters = liters_50 C = total_liters // 60 X = total_liters % 60 possible_counts = [C] if X > 0: possible_counts.append(C+1) f_out.write(' '.join(str(count) for count in possible_counts))
0 0

Топ вопросов за вчера в категории Другие предметы

Последние заданные вопросы в категории Другие предметы

Задать вопрос