Member 13347612 Ответов: 1

Выведите минимальное количество операций, необходимых для разделения монет.


Есть n блоков, пронумерованных от 0 до n-1 включительно, для каждого ящика i содержит r[i] красных монет b[i] синих монет и g [i] зеленых монет.нам нужно разделить монеты по цвету. в каждой операции мы можем взять одну монету из одной коробки и положить ее в другую. считается, что монеты разделены, если ни одна коробка не содержит более одного цвета. выведите минимальное количество операций, необходимых для разделения монет. если это невозможно, верните -1.

первая строка обозначает количество ящиков следующая строка содержит монеты красного с синего и зеленого цветов соответственно

Пример ввода

3
1 1 1
1 1 1
1 1 1
пример вывода

6
пример ввода :

1
5 6 8
пример вывода

-1
пример ввода

4
4 7 6
6 4 5
5 6 3
7 3 8
пример вывода

37

Что я уже пробовал:

Я попытался взять максимальное значение в первом столбце мудро, а затем перекрестно проверить, является ли оно максимальным значением и в строке. но это становилось все сложнее.

Patrice T

Покажите свой код и сформулируйте свою проблему.

1 Ответов

Рейтинг:
0

Patrice T

Возьмите лист бумаги и карандаш. Используйте свой мозг и решите проблему вручную. Поскольку Гарри Поттер не дал вам решение, нет никакой магии, и решение не прыгнуло вам в лицо.
Вы решили проблему, следуя процедуре, которая является вашим алгоритмом. Вам нужно записать шаги механическим способом (как компьютер). Программа будет следовать этим шагам.

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей выполнять вашу работу, а для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и начинайте работать. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Идея "развития" заключается в том, что это слово предполагает: "систематическое использование научно-технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".