Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Задачка   Найти похожие ветки 

 
Kerk ©   (2010-02-04 23:10) [0]

Никак не пойму как решить вот такую задачку.
(ответ я знаю, но не понимаю почему он такой)

И так, условие:
В комнате 7 семейных пар (т.е. 14 человек). Знакомы они между собой согласно следующим условиям:
1) Супруги знакомы
2) Если A знает B, то и B знает A
3) Никто не знаком сам с собой

Один из присутствующих (назовем его - Вася) обошел комнату и спросил всех кто кого знает (сам он не обязательно знает всех). В итоге у него получилось, что из 13 опрошенных человек каждый знает разное количество людей.

Вопрос: сколько человек знает жена Васи?


 
Kerk ©   (2010-02-04 23:19) [1]

Интуитивно чувствую, что надо раскручивать ситуацию от того, что каждый в группе 13ти автоматически увеличивает на единицу количество знакомых своего супруга, а жена Васи не увеличивает, т.к. Вася за пределами группы 13ти.


 
жена   (2010-02-05 00:49) [2]

жена Васи знает 1 чел.
правильно?


 
Kerk ©   (2010-02-05 00:59) [3]


> жена   (05.02.10 00:49) [2]
>
> жена Васи знает 1 чел.
> правильно?

Не правильно.
Жена Васи знает самого Васю (правило 1). Если она больше никого не знает, то и ее никто не знает (правило 2). В таком случае не сходится условие "из 13 опрошенных человек каждый знает разное количество людей", ибо никто не будет знать всех 13 человек.


 
ProgRAMmer Dimonych ©   (2010-02-05 01:24) [4]

Ответ случайно не 12?


 
Kerk ©   (2010-02-05 01:27) [5]


> ProgRAMmer Dimonych ©   (05.02.10 01:24) [4]
>
> Ответ случайно не 12?

Почему 12? Объяснение давай :)
Ответ, который мне сказали, не 12. Но я не могу перепроверить, т.к. не знаю принципа решения, так что давайте представим, что ответа я не знаю.


 
ProgRAMmer Dimonych ©   (2010-02-05 01:37) [6]

Уже не дам. Мысль, которая вертелась в голове, когда меня потянуло отписать предположение, улетучилась быстро, а сейчас смотрю и вижу, что ответ - любое натуральное число, кроме 1 и 13 :(


 
ProgRAMmer Dimonych ©   (2010-02-05 02:04) [7]

Ответ: 7. Могу объяснить, кажется... Ещё минутки 2 подумаю только :)


 
ProgRAMmer Dimonych ©   (2010-02-05 02:22) [8]

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

Начнём вот с чего. Есть кто-то, кто знает одного человека, т.е. своего супруга. Значит, из оставшихся 12 человек всех может знать только супруг(а) этого "знающего одного", т.к. без семейного знакомства каждый может знать только представителей других 6 пар, т.е. максимум 12 человека. Получаем такую картину (для определённости пронумеровал пары и принял, что мужчины менее общительны :) ):


Пара        М      Ж
1          *1     13
2           2      2
3           2      2
4           2      2
5           2      2
6           2      2
Вася        2      2


Пойдём от бОльших чисел. Помним, что человек 1М не может быть ни с кем знаком (это отмечено *). Может ли Жена Васи знать 12 человек? Двоих она уже знает: 1Ж и ВасяМ. Остаётся как раз ещё 10 человек. Но! Если она перезнакомится с ними со всеми, то для каждого из тех, у кого сейчас 2 знакомства (кроме Жены), знакомств станет 3. У Жены их будет 12, а Вася не считается. Т.е. получится, что нет числа 2. Вот эта ситуация:


Пара        М      Ж
1          *1     13
2           3      3
3           3      3
4           3      3
5           3      3
6           3      3
Вася        2     12


Значит, 12 знакомых у кого-то из пар 2-6. Для определённости пусть это будет человек 2Ж. Причёи из этих 12 получатся двое - это 2М (супруг) и 1Ж ("знаток"). Сама с собой и с 1М она не познакомится, так что знакомства будут установлены со всеми представителями семейных пар 3-6:


Пара        М      Ж
1          *1     13
2           2     12
3           3      3
4           3      3
5           3      3
6           3      3
Вася        3      3


Продолжаем рассуждать. Теперь попробуем сделать Жену Васи знакомой с 11 человеками. Трое - это Вася, 1Ж и 2Ж. Ещё 8 человек - это представители пар 3-6. Но тогда, как и в прошлом случае, не останется числа 3 ни у кого, кроме Васи, который нас не спасёт. Значит, Жена Васи не может быть знакома с 11 человеками и это кто-то из пар 3-6. Для определённости пусть будет 3Ж. Рассуждая как и на предыдущем шаге, приходим к выводу, что 3Ж (муж) может быть тогда знаком только с 3-мя:


Пара        М      Ж
1          *1     13
2           2     12
3           3     11
4           4      4
5           4      4
6           4      4
Вася        4      4


Дальше всё аналогично, приведу просто промежуточные таблицы:


Пара        М      Ж
1          *1     13
2           2     12
3           3     11
4           4     10
5           5      5
6           5      5
Вася        5      5



Пара        М      Ж
1          *1     13
2           2     12
3           3     11
4           4     10
5           5      9
6           6      6
Вася        6      6



Пара        М      Ж
1          *1     13
2           2     12
3           3     11
4           4     10
5           5      9
6           6      8
Вася        7      7


Задача, кажется, решена :)


 
Kerk ©   (2010-02-05 02:43) [9]

Похоже, что так :)
Вот этого я почему-то сразу не сообразил:

> Значит, из оставшихся 12 человек всех может знать только
> супруг(а) этого "знающего одного"


 
ProgRAMmer Dimonych ©   (2010-02-05 02:51) [10]

Это-то как раз самое сложное было. Почему нельзя Жене знать 12 человек понял через пару минут после того, как ответ про 12 написал. Потом пытался прикинуть, может ли она знать двоих. В общем, чего только не было там, в головушке. Дядюшке Фрейду и не снилось. А так, если ошибок нет, то, кажется, общее решение записать тож несложно. Для произвольного N семейных пар...


 
ProgRAMmer Dimonych ©   (2010-02-05 02:53) [11]

А откуда, кстать, задачка?


 
Kerk ©   (2010-02-05 03:37) [12]


> ProgRAMmer Dimonych ©   (05.02.10 02:53) [11]
>
> А откуда, кстать, задачка?

На собеседовании была.


 
J_f_S ©   (2010-02-05 04:43) [13]

>На собеседовании была.
SPb Software house& ;-)


 
Kerk ©   (2010-02-05 04:44) [14]


> J_f_S ©   (05.02.10 04:43) [13]

Нет, но вообще я эту тему комментировать не буду, чтоб не сглазить :)


 
brother ©   (2010-02-05 04:48) [15]

> комментировать не буду, чтоб не сглазить

на собеседовании гоняли? ;)


 
Kerk ©   (2010-02-05 08:28) [16]


> brother ©   (05.02.10 04:48) [15]
>
> на собеседовании гоняли? ;)

Да в принципе не особо. Мне даже понравилось :)


 
brother ©   (2010-02-05 08:35) [17]

> Мне даже понравилось :)

лучше, шоб на собеседования ты больше не ходил)


 
Sha ©   (2010-02-05 14:32) [18]

ProgRAMmer Dimonych  [8]

Теперь заметим, что Васей может быть любой из М и даже любая из Ж.

Поэтому единственное, что можно утверждать:
если Вася знаком с N человек, то супруг(а) Васи знаком(а) с 14-N человек.


 
ProgRAMmer Dimonych ©   (2010-02-05 14:45) [19]


> [18] Sha ©   (05.02.10 14:32)
> Теперь заметим, что Васей может быть любой из М и даже любая
> из Ж.

Эм-м-м, смелое утверждение. Секс-меньшинства, когда (если) придут к власти Вам этого не забудут, премию выпишут ;)


> Поэтому единственное, что можно утверждать:
> если Вася знаком с N человек, то супруг(а) Васи знаком(а)
> с 14-N человек.

Если я нигде не ступил, то количество знакомых у Васи и его Жены всегда будет одинаковым и равным общему количеству семейных пар. Сейчас ещё прикину, сколько у них будет общих знакомых, - и будем дальше их подкалывать :)


 
Sha ©   (2010-02-05 14:59) [20]

> ProgRAMmer Dimonych
> количество знакомых у Васи и его Жены всегда будет одинаковым и равным общему количеству семейных пар

Даже если в каждая супружеская пара состоит из Василия и Василисы?
Любой из этих 14 Васей удовлетворяет условию задачи и вполне мог ходить с опросным листом.


 
ProgRAMmer Dimonych ©   (2010-02-05 15:03) [21]

> [20] Sha ©   (05.02.10 14:59)
> Даже если в каждая супружеская пара состоит из Василия и
> Василисы?

Об таких раскладах я не думал :)


> Любой из этих 14 Васей удовлетворяет условию задачи и вполне
> мог ходить с опросным листом.

Еп-пископ Кондратий! Всё, моск будет зохаван сваренным :) Главное - чтобы они там промеж собой разобрались, кто кому жена...


 
Kerk ©   (2010-02-05 16:48) [22]

Да, как-то печально все вышло.
Пока что получается, что нет решения, либо описанный подход неверен.


 
ProgRAMmer Dimonych ©   (2010-02-05 17:00) [23]

Стоп!.. Так ответ другой, что ли?


 
tesseract ©   (2010-02-05 17:07) [24]

По моим прикидкам - если кто то знает одного стороннего человека - он автоматом знает минимум трёх. Правило 2 + правило 3.


1 2 3 4 5  6  7   - пары
1 3 5 7 9 11 13  - количество знакомых.  


13 или 1  быть вместе не может . И тогда задачка решения как-бы не имеет - Вася жену тоже опрашивал. Если бы не опрашивал - ответ сам собой - 11. Хотя может быть и 1.


 
tesseract ©   (2010-02-05 17:07) [25]

Хотя нет,  чет не то.


 
Kerk ©   (2010-02-05 17:17) [26]


> ProgRAMmer Dimonych ©   (05.02.10 17:00) [23]

Ответ не другой, но sha понятно показал, что с описанным подходом ответ реально N и 14-N.


 
Kerk ©   (2010-02-05 17:20) [27]

Хотя нет, все верно.
Даже если представить, что все 14 человек ходят с опросным листом, то есть еще условие "у всех 13 разное количество знакомых" и под него него подходит только один человек.


 
ProgRAMmer Dimonych ©   (2010-02-05 17:23) [28]

Тогда советую вернуться к описанию решения и попытаться ещё раз разобраться, как получается, что Жена Васи не может знать 13 человек, и почему если 13 человек знает 1Ж, то одного человека знает обязательно 1М. И следующий этап, где получается 12 и 2. Если я не туплю и ничего не упускаю, то Жена Васи знакомится до тех пор, пока мы не разберёмся со всеми остальными.

Ответы 14-N и N справедливы для любой семейной пары. Фишка в том, что если мы утверждаем, что Жена Васи знает N человек, то никто из 6 обычных пар не может знать 14-N, потому что тогда супруг этой пары должен знать стольких же, скольких знает Жена Васи, что противоречит условию.

Как-то так, хоть и путанно :(


 
ProgRAMmer Dimonych ©   (2010-02-05 17:24) [29]

Ну, собственно, я есколько опоздал с постом :)


 
tesseract ©   (2010-02-05 17:34) [30]


> и под него него подходит только один человек.


Вася себя не спрашивал. Значит он может повторяться в выборке:-) Но это по борту - он то может знать от одного до 13 без проблем.

Ж и М тут по барабану.


 
Kerk ©   (2010-02-05 17:46) [31]


> tesseract ©   (05.02.10 17:34) [30]
>
> > и под него него подходит только один человек.
>
> Вася себя не спрашивал. Значит он может повторяться в выборке:
> -) Но это по борту - он то может знать от одного до 13 без
> проблем.

Ну да. Именно поэтому с точки зрения всех остальных не будет в комнате у всех разное количество знакомых.


 
12 ©   (2010-02-05 19:32) [32]

* 123456789ABCD!

1 *1111111111111
2 1*000000000000
3 10*11111111111
4 101*0000000000
5 1010*111111111
6 10101*00000000
7 101010*1111111
8 1010101*000000
9 10101010*11111
A 101010101*0000
B 1010101010*111
C 10101010101*00
D 101010101010*1
!  1010101010101*

! - Вася, D - его жена
по 7


 
ProgRAMmer Dimonych ©   (2010-02-05 19:37) [33]

Правильность построения видна. Подход к построению чисто эвристический или есть какой-то подход? (Меня всё беспокоит общее решения для класса задач)


 
Стенка ©   (2010-02-06 10:14) [34]

> ProgRAMmer Dimonych ©   (05.02.10 19:37) [33]

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

Обозначим через N количество супружеских пар. В случае N=1 решение задачи очевидно. Решим ее для N>1.

Очевидно, каждый из 2N присутствующих имеет не менее 1 знакомого (своего  супруга) и не более 2N-1 (всех кроме себя). Значит, ровно у двух присутствующих одинаковое число знакомых, и наш Вася – один из этих двоих, т.к. по результатам его опроса совпадений не обнаружено. А это возможно только в том случае, когда Вася не опрашивал сам себя (что вполне естественно).

Теперь рассмотрим супружескую пару, в которой есть супруг А, имеющий единственного знакомого – своего супруга B. Предположим, что супруг B имеет K знакомых, причем 1<=K<=2N-2. В этом случае один из оставшихся присутствующих должен иметь 2N-1 знакомых, т.е. быть знаком со всеми, включая A. Но это противоречит нашему предположении. Значит A имеет 1 знакомого, B имеет K=2N-1 знакомых, а остальные от 2 до 2N-2.

Заметим, что наш Вася не входит в только что рассмотренную супружескую пару. Т.к. если Вася – это А, то среди оставшихся должен быть C, знакомый только со своим супругом D, у которого 2N-1 знакомых, и тогда мы имеем двойное повторение количества знакомых. А если Вася – это B, то среди оставшихся должен быть E, также знакомый со всеми присутствующими и общее число знакомых  составит (1+(2N-1))*N+(2N-1)=2N^2+2N-1. А это нечетное число, и такого быть не может, т.к. каждое знакомство существует между двумя людьми.

Теперь давайте попросим удалиться супругов A и B из комнаты. В комнате у нас останется наш Вася, N-1 супружеских пар, и та же задача (если считать знакомых только в пределах комнаты). Повторяя процесс далее, мы оставим в комнате только Васю с супругой. При каждом удалении (а их было N-1) они теряли по одному общему знакомому, ну и, конечно, они знакомы друг с другом. Значит, они имеют по N знакомых.


 
ProgRAMmer Dimonych ©   (2010-02-06 13:17) [35]

> [34] Стенка ©   (06.02.10 10:14)

Вчитался, вник. Теперь как-то стройнее выглядит.

А в цитируемом сообщении меня интересовал способы заполнения таблицы, ибо это, как я понимаю, матрица смежности графа. Как начать её заполнение понятно, а продолжение не совсем очевидно.


 
Стенка ©   (2010-02-06 17:04) [36]

На графе это выглядит совсем просто.

Супружеская пара изображается парой точек, одна под другой. Cледующую супружескую пару рисуем правее предыдущей. Правило соединения точек простое: каждую точку верхнего ряда соединяем со всеми точками левее нее и точкой, расположенной непосредственно под ней.

Левая пара точек - Вася и его жена.


 
Стенка ©   (2010-02-06 17:40) [37]

Если нумеровать точки верхнего ряда справа налево, а затем точки нижнего ряда слева направо, то получается приятно выглядящая матрица смежности:

0123456789ABCDE
101111111111111
210111111111110
311011111111100
411101111111000
511110111110000
611111011100000
711111101000000
811111110000000
911111100000000
A11111000000000
B11110000000000
C11100000000000
D11000000000000
Е10000000000000

7 и 8 - Вася с супругой.


 
dmk ©   (2010-02-06 20:19) [38]

3) Никто не знаком сам с собой

Мне это условие похоже на ошибку деления на ноль :-) IMHO все знакомы друг с другом :-)


 
Стенка ©   (2010-02-06 20:34) [39]

> dmk ©   (06.02.10 20:19) [38]
> 3) Никто не знаком сам с собой
> Мне это условие похоже на ошибку деления на ноль :-)

Ну, можно пойти чуть дальше и спросить: "сколько раз знаком?"  )


 
12 ©   (2010-02-08 09:10) [40]


> Правильность построения видна

Все просто.
Начинаем избавляться от больших чисел, маленькие приткнуть легче
Начинаем с 13ти знакомых, далее предполагал, что следующий - супруг, следовательно, 1, иначе никак.
Потом 12, и 2 и т.д.

>> Если нумеровать точки верхнего ряда справа налево,
а вот если супруга первого поставить последним - действительно, вывглядит красивее



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.122 c
2-1265804991
Вася
2010-02-10 15:29
2010.08.27
A.V. при закрытии формы с TWebBrowser


2-1273738553
timekiller
2010-05-13 12:15
2010.08.27
Общение между программами по локальной сети


15-1269615443
tesseract
2010-03-26 17:57
2010.08.27
собери себе ОС


2-1273081388
SooM
2010-05-05 21:43
2010.08.27
Работа с текстом(перевёртыш)


15-1266247102
TStas
2010-02-15 18:18
2010.08.27
Программное разраривание





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский