Страница: 1 |
Страница: 1 |
Вопрос: Задача по комбинаторике
Добавлено: 22.11.05 19:49
Автор вопроса: Ирина
Помогите решить задачу:
В институте 25 сотрудников.
Доказать, что из них нельзя составить более 30 комиссий по 5 человек в каждой так, чтобы никакие две комиссии не имели более одного общего члена.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #1
Добавлено: 22.11.05 20:08
Эту задачу надо решить на VB?
Номер ответа: 2
Автор ответа:
B@r@nOFF
Вопросов: 8
Ответов: 13
Профиль | | #2
Добавлено: 22.11.05 20:46
Я точно не знаю, НО
Попробуй Х-сотрудники, У-комиссия:
Х/У= целое число и при делении на 5 получаеться 1
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 23.11.05 05:20
Пытался составить 30, но максимум 22 получилось.
Номер ответа: 4
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #4
Добавлено: 23.11.05 09:38
Ненавижу комбинаторику! )
Номер ответа: 5
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #5
Добавлено: 23.11.05 09:40
А вообще, поищи статьи по комбинаторике, там есть формулы, попробуй из заюзать
Задачка, ИМХО, чисто оттуда.
p.s. сорри за флуд, у меня от комбинаторики воспоминания плохие, никогда ее не любил
Номер ответа: 6
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #6
Добавлено: 23.11.05 17:14
ох уж эта комбинаторика!
Номер ответа: 7
Автор ответа:
ViktorZ
ICQ: 271202919
Вопросов: 56
Ответов: 837
Профиль | | #7
Добавлено: 23.11.05 19:09
руками мож попробовать стоит?
Номер ответа: 8
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #8
Добавлено: 23.11.05 22:29
да. комбинаторика, теория вероятностей... тебе к моему преподу нужно
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 24.11.05 03:34
#define n 5
#define nn 25
int a[1000][n];
int c = 0;
void solve(int last, int deep){
if(deep == n){
for(int i=0; i<c; i++){
int p;
p = 0;
for(int j=0; j<n; j++){
for(int k=0; k<n; k++){
if(a[i][j] == a[c][k] p++;
}
}
if(p > 1) return;
}
c++;
} else{
for(int i=last+1; i<=nn; i++){
int oldc;
oldc = c;
a[c][deep] = i;
solve(i, deep + 1);
if(c != oldc){
for(int j=0; j<=deep; j++){
a[c][j] = a[oldc][j];
}
}
}
}
}
int main(){
solve(0, 0);
printf("%d\n", c);
for(int i=0; i<c; i++){
for(int j=0; j<n; j++){
printf("%d ", a[i][j];
}
printf("\n"
}
return 0;
}
Номер ответа: 10
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #10
Добавлено: 24.11.05 16:54
Первое, что пришло в голову: 30 = 25 + 5.
А вообще хреновая задача какая-то. Если бы было вообще без общих членов - то там все понятно, 5 комиссий предел. А с одним общим членом почему-то 30.