Задача «Справедливое распределение»
У Андрея было А грамм крупы, у Бориса – В грамм, а у Сергея вообще не было крупы. Ребята сварили кашу и разделили ее поровну на троих. Поскольку Сергей был без крупы, то в благодарность за кашу он отдал С конфет Андрею с Борисом. Требуется написать программу, которая определяет, как Андрей и Борис должны поделить конфеты по справедливости. Конфету делить на части нельзя.
Например, если ввести:
А=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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!