Решите пожалуйста первую задачу Желательно ** C и C++

0 голосов
23 просмотров

Решите пожалуйста первую задачу Желательно на C и C++


image

Информатика (57 баллов) | 23 просмотров
0

О, а как ты попал на эту олимпиаду?

0

+++

0

Да,как ты попал на олимпиаду,если не знаешь даже ответы на задание?

0

Вы никогда не участвовали в олимпиадах чтоль? Ребят, в школьном этапе по инфе, нет программирования вообще. По крайней мере, когда я учился - было так. Зато когда на муниципалку приходишь - там только программирование

Дан 1 ответ
0 голосов

#include "iostream"

using namespace std;

int main(){

int a, b, c;

int x = 0, y = 0, z = 0;

cin >> a >> b >> c;

int amount = a + b + c;

while(amount > 0){

 if(b != 0 && c != 0 && a < b + c){

 x += 1;

 b -= 1; c -= 1;

 }

 if(a != 0 && c != 0 && b < a + c){

 y += 1;

 a -= 1; c -= 1;

 }

 if(a != 0 && b != 0 && c < a + b){

 z += 1;

 a -= 1; b -= 1;

 }

 amount -= 2;

}

cout

return 0;

}


image
image
(3.4k баллов)
0

Можешь коротко объяснить принцип? Для себя. А то прочитав задание не понял, как это должно работать.

0

Необходимо добавить условие, которое будет говорить, что сумма двух собираемых вещей(если мы собираем, например карандаши и блокноты), должна быть больше чем кол-во оставшейся вещи(получается, шоколада). В противном случае, получится, что будет максимально отрабатывать один оператор ветвления, а остальные будут работать уже по тому кол-ву, что осталось.

0

Попробую на примере. Мы вводим 4 4 4(4к, 4б, 4ш). Если не включать доп. условие, о котором я пишу выше, то получится, что будет работать только 1 оператор ветвления. Вот результат:4 4 4 - изначально3 3 4 - 1 подарок2 2 4 - 2 подарок1 1 4 - 3 подарок0 0 4 - 4 подароки на этом всё. 4 шоколадки так и останутся. А теперь мы добавим условие, чтобы сумма собираемых была больше кол-ву оставшейся.

0

4 4 4 - изначально3 3 4 - 1 подарок2 2 4 - 2 подарок. Здесь проверяестся 2+2 = 4, но оно не больше чем 4 шоколадки. значит собираем другой подарок2 1 3 - 3 подарок. Теперь также 2+1 = 3, оно не больше чем 3 шоколадки. значит собираем снова другой1 1 2 - 4 подарок. аналогичная ситуация1 0 1 - 5 подарок0 0 0 - 6 подарокИ в итоге, мы получаем 6 подарков. То самое макс. кол-во, о котором говорилось.

0

Я надеюсь, более менее понятно стало. Если ты, конечно, именно об этом просил)

0

А для чего нам это условие в принципе? И откуда оно вытекает?