Форум программистов, компьютерный форум, киберфорум
Комбинаторика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
104 / 15 / 3
Регистрация: 29.11.2010
Сообщений: 335
1

Разместить n1 элементов группы А и n2 элементов группы Б по 4 урнам, в каждой урне есть хотя бы один элемент (n1 или n2)

26.11.2012, 07:49. Показов 921. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Попросили объяснить, я не смог.. стало очень интересно как вообще такого рода задачи решать))
Смотрите:
Есть 20 белых шаров и 15 чёрных, их нужно разместить по 4 урнам, так, чтобы в каждой урне был хотя бы один любой шар (белый или чёрный)? Как решать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2012, 07:49
Ответы с готовыми решениями:

В списке L с каждой группы подряд равных элементов оставить только один элемент
Опишите программу , которая в списке L с каждой группы подряд равных элементов оставляет только...

В списке L из каждой группы подряд идущих равных элементов оставить только один элемент
В списке L из каждой группы подряд идущих равных элементов оставить только один элемент Например,...

Из каждой группы подряд идущих элементов оставить только один
Дан список строк. Написать подпрограмму, которая из каждой группы подряд идущих элементов оставляет...

Из каждой группы подряд идущих элементов оставить только один
Дан список строк. Написать подпрограмму, которая из каждой группы подряд идущих элементов оставляет...

3
3 / 3 / 2
Регистрация: 27.07.2011
Сообщений: 13
27.11.2012, 20:29 2
Наверное не совсем рациональное решение. (если урны различимы)
1) 2^4=16 случаев раскладки по одному шару в урну : (ББББ БББЧ ББЧБ ББЧЧ БЧББ и т.д.)
чтобы в них был хотя бы один шар
2) Первый случай во все урны сначала положили по одному белому шару . Осталось 16 белый и 15 черных.Число способов раскладки 16 неразличимых белых шаров в 4 различимые урны без ограничений на число шаров в урне = числу сочетаний с повторениями из 4 по 16 = С(16, 16+4-1). То же для черных шаров = С(15,15+4-1). Итого для первого случа получаем
Число комбинаций равно = С(16, 16+4-1) * С(15,15+4-1)
3) Рассмотреть все остальные случаи и сложить все полученные количества комбинаций.
0
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
09.01.2013, 14:26 3
Код программы
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@echo off
setlocal enabledelayedexpansion
set counter=0
FOR /L %%a IN (0,1,20) DO (
 FOR /L %%b IN (0,1,15) DO (
  FOR /L %%c IN (0,1,20) DO (
   FOR /L %%d IN (0,1,15) DO (
    FOR /L %%e IN (0,1,20) DO (
     FOR /L %%f IN (0,1,15) DO (
      FOR /L %%g IN (0,1,20) DO (
       FOR /L %%h IN (0,1,15) DO (
        set a=%%a
        set b=%%b
        set c=%%c
        set d=%%d
        set e=%%e
        set f=%%f
        set g=%%g
        set h=%%h
        set /a fu=!a!+!b!
        set /a su=!c!+!d!
        set /a tu=!e!+!f!
        set /a ftu=!g!+!h!
        set /a allb=!a!+!c!+!e!+!g!
        set /a allc=!b!+!d!+!f!+!h!
        set cpp1=1
        set cpp2=1
        set cpp3=1
        set cpp4=1
        set cpp5=1
        set cpp6=1
        echo !fu!
        echo !su!
        echo !tu!
        echo !ftu!
        echo !allb!
        echo !allc!
        if !fu! GEQ 1 (set cpp1=0)
        if !su! GEQ 1 (set cpp2=0)
        if !tu! GEQ 1 (set cpp3=0)
        if !ftu! GEQ 1 (set cpp4=0)
        if !allb!==20 (set cpp5=0)
        if !allc!==15 (set cpp6=0)
        set /a ifer=!cpp1!+!cpp2!+!cpp3!+!cpp4!+!cpp5!+!cpp6!
        if !ifer!==0 (
         set counter=!counter!+1
         echo +1VARIANT
        )
        echo OK OK OK
)
)
)
)
)
)
)
)
echo !counter! ways
pause>nul

Программное решение. Ответа не скажу, так как не дождался конца исполнения , работает очень долго
0
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
10.01.2013, 03:45 4
Мало того, что в гугл посылать низзя, так ещё и на другой форум тоже...
В общем, делается это по формуле включений/исключений: как заполнить без условия непустоты -- понятно; вычитаем варианты с одноё пустой урной; варианты с двумя при этом вычитаются дважды -- прибавляем; варианты с тремя оказываются прибавлены дважды -- вычитаем и т.д.
0
10.01.2013, 03:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2013, 03:45
Помогаю со студенческими работами здесь

В списке L из каждой группы подряд идущих элементов оставляет только один
составить программу, которая в списке L из каждой группы подряд идущих элементов оставляет только...

Из каждой группы подряд идущих одинаковых элементов оставить только один
Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов...

В списке L из каждой группы идущих подряд равных элементов оставить только один
опишите программу которая в списке L из каждой группы идущих подряд равных элементов оставляет...

В динамическом списке из каждой группы подряд идущих одинаковых элементов оставить один
Условие задачи в заголовке темы. Пытался написать, но выводит в обратном порядке, ничего не...

Из каждой группы равных между собой элементов нужно оставить только один
1.Дан целочисленный массив а1,а2,...аn,среди элементов которого могут быть равные. Из каждой группы...

В списке L из каждой группы подряд идущих элементов с равными значениями оставить только один
В списке L из каждой группы подряд идущих элементов с равными значениями оставить только один.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru