Значит пока получается, что в плохих случаях имеем максимум
кучек по номинальному току ("сосисок") или
кучек по номинальному напряжению ("колбасок").
Первый шаг, тогда -- попытка разделить на "сосиски" и "колбаски" и посмотреть чего будет больше -- тех или других. Алгоритмически это сделать легко -- создаем пятипроцентные ряды по напряжениям и токам, и раскладываем резисторы в них.
А затем, перегруппировкой, надо попытаться разделить резисторы на две группы кучек -- "сосисок" и "колбасок" так чтобы общее количество кучек было меньше чем при разделении только на "сосиски" или только на "колбаски".
Для этого, я думаю, можно идти таким путём.
Раскладываем имеющиеся резисторы на "сосиски", считаем получившееся количество, записываем "Всего сосисок"
Смешиваем, раскладываем имеющиеся резисторы на "колбаски", считаем получившееся количество, записываем "Всего колбасок"
0. Записываем
1. Раскладываем имеющиеся резисторы кучками на "сосиски" и "колбаски". Смотрим какая из кучек получилась больше всех. Эту кучку (это может быть как "сосиска" так и "колбаска") откладываем в сторону и пишем на ней "Колбаска" (или "сосиска") номер
".
2. Записываем
. Если осталось больше одного резистора, то оставшиеся резисторы перемешиваем, и переходим к шагу 1. Если остался один, пишем на нем "Кучка номер
" и заканчиваем работу.
Проверяем, что получилось что
и