Кролики и клетки

Статус: Offline
Реєстрація: 31.10.2009
Повідом.: 1078
Кролики и клетки

Добрый день (ночь, неважно). Есть небольшая задача по комбинаторике, нужна лично мне как ключевой алгоритм для анализа формул. Суть описать на пальцах достаточно просто: есть C клеток и R кроликов. Интересует:

1. Сколько вариантов (не повторяющихся) рассаживания кроликов по клеткам.

2. Если известен вариант рассаживания, то как конкретно сидят кролики в клетках?

Вообще говоря, это решение уравнения x1+x2+..xC = R в целых неотрицательных числах. Например:

x1 + x2 + x3 + x4 = 3

Варианты решений:

3000
0300
0030
0003
-----
2100
2010
2001
0210
0201
0021
-----
1200
1020
1002
0120
0102
0012
-----
1110
1101
1011
0111

Итого 4+6+6+4 = 20 вариантов решений. И если нужно, скажем, 15-е решение, то выдает "0102".

Возможно, такой алгоритм имеет название и давно придуман, просто не нашел. Кто знаком или видит простые пути решения - буду благодарен :)
 
По истине великая задача.Но надо учесть ,чтобы братья и сестры не метелили друг друга,иначе мы получаем еще несколько вариантов решений,но уже в других разделах клеток.Неплохо было бы прежде,чем применить на практике окончательно сформированный алгоритм,освоить его с реальными участниками раздела.
И прежде всего начинать нужно с момента,когда ТС последний раз посещал женщину через форточку.
 
Ты имеешь ввиду, что в данном разделе никто не сможет ответить по сути вопроса?
 
Achenar, Ты прав - такая задача уже неоднократно решалась))) и имеет огромное кол-во приложений в математике. Это задача о разбиении числа на слагаемые (частный случай - неповторяющиеся слагаемые)
Начни разматывать клубочек например с ru[dot]wikipedia[dot]org / wiki / Разбиение_числа
ЗЫ Будут конкретные вопросы по применению на практике - пиши в личку))
 
Спасибо за адекватный комментарий. Я уже, собственно, решил. Источники еще поищу, может, там более эффективные алгоритмы, но мне не критично, до 20 "кроликов" за незаметное время "рассаживает".

За ссылку тоже спасибо.
 
По истине великая задача.Но надо учесть ,чтобы братья и сестры не метелили друг друга,иначе мы получаем еще несколько вариантов решений,но уже в других разделах клеток.Неплохо было бы прежде,чем применить на практике окончательно сформированный алгоритм,освоить его с реальными участниками раздела.
И прежде всего начинать нужно с момента,когда ТС последний раз посещал женщину через форточку.

:рл:
 
2.5 года. Скелеты кроликов в ржавых клетках грустно смотрят на меня пустыми глазницами.
 
Вопрос решался для аналитического инвертирования разреженной матрицы. Типа аналитическое решение системы уравнений. Оно-то, может, и есть в разного рода Maple, но мне нужен был свой алгоритм. Подавалось это как работа на "юного ученого Харькова", что-то даже оформил и подал, но конкурс спустили на тормозах.

Может, всплывет в чьей-то кандидатской, иного объяснения не вижу. Это было последней каплей, и я уволился к чертовой матери из ВУЗа.

Порядок чисел там до 30-50. Было давно, я же говорю, забыл уже все. Заниматься этим, скорее всего, уже не буду. Докторскую надо писать в стенах какой-нибудь госконторы, иметь кучу статей, много денег и здоровья. Не до этого уже. Буду делать карьеру в сфере IT.
 
Назад
Зверху Знизу