Задача «Справедливое распределение»



У Андрея было А грамм крупы, у Бориса – В грамм, а у Сергея вообще не было крупы. Ребята сварили кашу и разделили ее поровну на троих. Поскольку Сергей был без крупы, то в благодарность за кашу он отдал С конфет Андрею с Борисом. Требуется написать программу, которая определяет, как Андрей и Борис должны поделить конфеты по справедливости. Конфету делить на части нельзя.

Например, если ввести:

А=700

B=500

C=12

то в результате выполнения программа должна вывести:

9 конфет у Андрея

3 конфеты у Бориса

Формат ввода

В каждой строке вывести по одному целому числу - количество грамм крупы у Андрея и Бориса. В следующей строке одно целое число - общее количество конфет, которые отдал Сергей. Все числа от 1 до 109.

 

Формат вывода

Если поделить нацело конфеты возможно, то в первой строке вывести количество конфет, которое достанется Андрею, а во второй - Борису. Иначе вывести сообщение "No solution".

 

Пример

Ввод Вывод
700 500 12 9 3

Пояснение к решению

Всего крупы получилось 700+500=1200 грамм.

Каждому досталось по 1200/3=400 грамм.

Сколько отдал Андрей? 700-400=300 грамм.

Сколько отдал Борис? 500-400=100 грамм.

Значит им достанется конфет по справедливости в отношении a1/b1=300/100, при этом a1+b1=12 и a1 и b1 – целые числа.

Программа

var a,b,d,a1,b1:real;

i,c:longint;

begin

read(a,b,c);

d:=(A+B)/3;

a1:=a-d;

b1:=b-d;

if (a1=b1) and (c mod 2 =0) then begin

writeln(c div 2);

writeln(c div 2);

exit;

end;

for i:=0 to c do

if(abs(a1*i-b1*(c-i))<=0.000001)then begin

writeln(c-i);

writeln(i);

exit;

end;

writeln('No solution');

end.

 

Тесты:

Ввод Вывод
1 700 500 12 9 3
2 500 700 10 No solution
3 600 600 10 5 5
4 600 300 6 6 0
5 400 800 15 0 15
6 700 800 15 6 9
7 1000000000 1000000000 500000000 250000000 250000000
8 100000000 50000000 600000000 600000000 0  
9 600 864 488 112 376
10 75000 108000 61000 14000 47000

 

 

 


Дата добавления: 2022-01-22; просмотров: 27; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!