Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Тест для мозгов и компьютеров  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5318
Тут мне прислали такую задачку:

А. Эйнштейн придумал эту загадку в прошлом веке и полагал, что 98% жителей земли будут не в состоянии ее решить.
1. Есть 5 домов каждый разного цвета.
2. В каждом доме живет по одному человеку отличной друг от друга национальности.
3. Каждый жилец пьет только один определенный напиток, курит определенную марку сигарет и держит определенное животное.
4. Никто из 5 человек не пьет одинаковые с другими напитки, не курит одинаковые сигареты и не держит одинаковое животное.
Вопрос: кому принадлежит рыба?
Подсказки:
1. Англичанин живет в красном доме.
2. Швед держит собаку.
3. Датчанин пьет чай.
4. Зеленый дом стоит слева от белого.
5. Жилец зеленого дома пьет кофе.
6. Человек, который курит Pall Mall, держит птицу.
7. Жилец из среднего дома пьет молоко.
8. Жилец из желтого дома курит Dunhill.
9. Норвежец живет в первом доме.
10. Курильщик Marlboro живет около того, кто держит кошку.
11. Человек, который содержит лошадь, живет около того, кто курит Dunhill.
12. Курильщик сигарет Winfield пьет пиво.
13. Норвежец живет около голубого дома.
14. Немец курит Rothmans.
15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.
PS. Предваряя вопросы, скажу, что система условий полна и определяет
единственное возможное решение. Так что отговорки не принимаются.
Удачи!


В принципе немного подумав можно отнести себя к тем 2% жителей Земли. Но я решил отнести себя к еще меньшему проценту . Мне стало интересно как такие задачи можно решить на SQL. Ведь в принципе это перебор вариантов, казалось бы как раз задача для SQL. Но составив 5 таблиц с 5-ю записями я задумался - а что же делать дальше? Задача оказалась не такая тривиальная, как ожидалось. В результате я нашел решение, но запрос (он ниже) оказался уж очень монстрообразным. Может кто-нибудь знает как по теории решаются такие задачи или хотя бы сталкивался с ними?

Ну и заодно можно сравнить процессоры и SQLи. У меня это выполнялось 7 сек.

set nocount on
declare @sig table(sig varchar(10)) -- сигареты
declare @color table(col varchar(10)) -- цвета домов
declare @drink table(dri varchar(10)) -- напитки
declare @anim table(ani varchar(10)) -- животные
declare @nats table(nat varchar(10)) -- национальности
insert @sig
select 'Pall Mall' union select 'Dunhill' union select 'Marlboro' union select 'Winfield' union select 'Rothmans'
insert @color
select 'red' union select 'green' union select 'white' union select 'blue' union select 'yellow'
insert @drink
select 'tea' union select 'beer' union select 'cofe' union select 'milk' union select 'water'
insert @anim
select 'fish' union select 'dog' union select 'cat' union select 'horse' union select 'bird'
insert @nats
select 'eng' union select 'norv' union select 'shved' union select 'dat' union select 'nem'
--собственно сам запрос
select * from @sig s1 ,@color c1 , @drink d1 , @anim a1, @nats n1,
@sig s2 ,@color c2 , @drink d2 , @anim a2, @nats n2,
@sig s3 ,@color c3 , @drink d3 , @anim a3, @nats n3,
@sig s4 ,@color c4 , @drink d4 , @anim a4, @nats n4,
@sig s5 ,@color c5 , @drink d5 , @anim a5, @nats n5
where
s1.sig<>s2.sig and s1.sig<>s3.sig and s1.sig<>s4.sig and s1.sig<>s5.sig
and s2.sig<>s3.sig and s2.sig<>s4.sig and s2.sig<>s5.sig
and s3.sig<>s4.sig and s3.sig<>s5.sig
and s4.sig<>s5.sig
and
c1.col<>c2.col and c1.col<>c3.col and c1.col<>c4.col and c1.col<>c5.col
and c2.col<>c3.col and c2.col<>c4.col and c2.col<>c5.col
and c3.col<>c4.col and c3.col<>c5.col
and c4.col<>c5.col
and
d1.dri<>d2.dri and d1.dri<>d3.dri and d1.dri<>d4.dri and d1.dri<>d5.dri
and d2.dri<>d3.dri and d2.dri<>d4.dri and d2.dri<>d5.dri
and d3.dri<>d4.dri and d3.dri<>d5.dri
and d4.dri<>d5.dri
and
a1.ani<>a2.ani and a1.ani<>a3.ani and a1.ani<>a4.ani and a1.ani<>a5.ani
and a2.ani<>a3.ani and a2.ani<>a4.ani and a2.ani<>a5.ani
and a3.ani<>a4.ani and a3.ani<>a5.ani
and a4.ani<>a5.ani
and
n1.nat<>n2.nat and n1.nat<>n3.nat and n1.nat<>n4.nat and n1.nat<>n5.nat
and n2.nat<>n3.nat and n2.nat<>n4.nat and n2.nat<>n5.nat
and n3.nat<>n4.nat and n3.nat<>n5.nat
and n4.nat<>n5.nat
and
( (n1.nat='eng' and c1.col='red')
or (n2.nat='eng' and c2.col='red')
or (n3.nat='eng' and c3.col='red')
or (n4.nat='eng' and c4.col='red')
or (n5.nat='eng' and c5.col='red') ) -- 1
and ( (n1.nat='shved' and a1.ani='dog')
or (n2.nat='shved' and a2.ani='dog')
or (n3.nat='shved' and a3.ani='dog')
or (n4.nat='shved' and a4.ani='dog')
or (n5.nat='shved' and a5.ani='dog') ) --2
and ( (n1.nat='dat' and d1.dri='tea')
or (n2.nat='dat' and d2.dri='tea')
or (n3.nat='dat' and d3.dri='tea')
or (n4.nat='dat' and d4.dri='tea')
or (n5.nat='dat' and d5.dri='tea') ) -- 3
and ( (c1.col='green' and c2.col='white')
or (c2.col='green' and c3.col='white')
or (c3.col='green' and c4.col='white')
or (c4.col='green' and c5.col='white') ) -- 4
and ( (c1.col='green' and d1.dri='cofe')
or (c2.col='green' and d2.dri='cofe')
or (c3.col='green' and d3.dri='cofe')
or (c4.col='green' and d4.dri='cofe')
or (c5.col='green' and d5.dri='cofe') ) -- 5
and ( (s1.sig='Pall Mall' and a1.ani='bird')
or (s2.sig='Pall Mall' and a2.ani='bird')
or (s3.sig='Pall Mall' and a3.ani='bird')
or (s4.sig='Pall Mall' and a4.ani='bird')
or (s5.sig='Pall Mall' and a5.ani='bird') ) -- 6
and (d3.dri='milk') -- 7
and ( (s1.sig='Dunhill' and c1.col='yellow')
or (s2.sig='Dunhill' and c2.col='yellow')
or (s3.sig='Dunhill' and c3.col='yellow')
or (s4.sig='Dunhill' and c4.col='yellow')
or (s5.sig='Dunhill' and c5.col='yellow') ) -- 8
and (n1.nat='norv') -- 9
and ( (s1.sig='Marlboro' and 'cat'=a2.ani)
or (s2.sig='Marlboro' and 'cat' in (a1.ani, a3.ani))
or (s3.sig='Marlboro' and 'cat' in (a2.ani, a4.ani))
or (s4.sig='Marlboro' and 'cat' in (a3.ani, a5.ani))
or (s5.sig='Marlboro' and 'cat'=a5.ani)) -- 10
and ( (s1.sig='Dunhill' and 'horse'=a2.ani)
or (s2.sig='Dunhill' and 'horse' in (a1.ani, a3.ani))
or (s3.sig='Dunhill' and 'horse' in (a2.ani, a4.ani))
or (s4.sig='Dunhill' and 'horse' in (a3.ani, a5.ani))
or (s5.sig='Dunhill' and 'horse'=a5.ani)) -- 11
and ( (s1.sig='Winfield' and d1.dri='beer')
or (s2.sig='Winfield' and d2.dri='beer')
or (s3.sig='Winfield' and d3.dri='beer')
or (s4.sig='Winfield' and d4.dri='beer')
or (s5.sig='Winfield' and d5.dri='beer') ) -- 12
and ( (n1.nat='norv' and 'blue'=c2.col)
or (n2.nat='norv' and 'blue' in (c1.col, c3.col))
or (n3.nat='norv' and 'blue' in (c2.col, c4.col))
or (n4.nat='norv' and 'blue' in (c3.col, c5.col))
or (n5.nat='norv' and 'blue'=c5.col)) -- 13
and ( (s1.sig='Rothmans' and n1.nat='nem')
or (s2.sig='Rothmans' and n2.nat='nem')
or (s3.sig='Rothmans' and n3.nat='nem')
or (s4.sig='Rothmans' and n4.nat='nem')
or (s5.sig='Rothmans' and n5.nat='nem')) -- 14
and ( (s1.sig='Marlboro' and 'water'=d2.dri)
or (s2.sig='Marlboro' and 'water' in (d1.dri, d3.dri))
or (s3.sig='Marlboro' and 'water' in (d2.dri, d4.dri))
or (s4.sig='Marlboro' and 'water' in (d3.dri, d5.dri))
or (s5.sig='Marlboro' and 'water'=d5.dri)) -- 15
30 апр 02, 13:06    [26828]     Ответить | Цитировать Сообщить модератору
 RE:Тест для мозгов и компьютеров  [new]
GreenSunrise
Guest
Сдается мне, такие штучки оччччень элегантно решаются на Прологе, если кто такую штуковину помнит.
30 апр 02, 13:22    [26829]     Ответить | Цитировать Сообщить модератору
 RE:Тест для мозгов и компьютеров  [new]
pik_
Guest
Такие штуки хорошо после пивка идут.
После пятой-шестой...
30 апр 02, 13:26    [26830]     Ответить | Цитировать Сообщить модератору
 RE:Тест для мозгов и компьютеров  [new]
Дед Маздай
Guest
Может, переименуем sql.ru в сайт матолимпиад? Я не настолько хорошо владею SQL, как SergSuper, поэтому пришлось думать. (Такое все еще иногда случается). Думал я в Excel, потому звиняйте, коли форматирование поедет.

Из условий 1, 2, 3, 5, 6, 7, 8, 9, 12, 13, 14 имеем:

Номер дома 1 2 3 4 5
Цвет ? Голубой Красн. Зеленый Желтый
Нац. Норвежец Англ. Швед Датч. Немец
Напиток ? Молоко Чай Кофе Пиво
Сигареты ? Pall Mall Dunhill Winfield Rothmans
Жив. ? Собака Птица


Предполагаем, что дома не закольцованы
Тогда дом норвежца не зеленый, т.к. Справа от него по условию (13) голубой, а не белый (4)
3-й дом не зеленый, т.к. Зеленый пьет кофе (5)
Зеленый не м.б. 5-й, т.к. Д.б. Дом правее него (4)
Значит, зеленый - 4-й, а белый - 5-й
1-й дом не м.б. Красный, т.к. В нем живет норвежец (9), а в красном - англичанин (1)
Значит, дом норвежца - желтый, а красный с англичанином - 3-й.

Номер дома 1 2 3 4 5
Цвет Желтый Голубой Красн. Зеленый Белый
Нац. Норвежец Англ. Швед Датч. Немец
Напиток Молоко Кофе Чай Пиво
Сигареты Dunhill Pall Mall Winfield Rothmans
Жив. ? Собака Птица

5-й не может курить Marlboro, т.к. Он живет по соседству с человеком, к-й пьет воду (15)
Значит, Marlboro курит 2-й, а 1-й пьет воду
Из (11) 2-й держит лошадь

Номер дома 1 2 3 4 5
Цвет Желтый Голубой Красн. Зеленый Белый
Нац. Норвежец Англ.
Напиток Вода Молоко Кофе
Сигареты Dunhill Marlboro
Жив. ? Лошадь

2 не может быть шведом - тот держит собаку (2) и немцем - тот курит Rothmans (14). Значит, это датчанин
Теперь у нас определены по местам 4 напитка, значит, связка пиво + Winsfield (12) - это 5-й дом.
3 дома у нас расставлены по национальностям. Немец не может жить в 5-м, т.к. Он курит Rothmans (14). Значит, он живет в 4-м
А единственный оставшийся швед, соотв-но, в 5-м

Номер дома 1 2 3 4 5
Цвет Желтый Голубой Красн. Зеленый Белый
Нац. Норвежец Датч. Англ. Немец Швед
Напиток Вода Чай Молоко Кофе Пиво
Сигареты Dunhill Marlboro Rothmans Winfield Pall Mall
Жив. ? Лошадь Собака Птица

Ну и все. 3-й - это Pall Mall + Птица (6)
Оставшаяся по соседству с Marlboro кошка (10) - это 1
Значит, рыба живет в 4-м доме у немца

Номер дома 1 2 3 4 5
Цвет Желтый Голубой Красн. Зеленый Белый
Нац. Норвежец Датч. Англ. Немец Швед
Напиток Вода Чай Молоко Кофе Пиво
Сигареты Dunhill Marlboro Pall Mall Rothmans Winfield
Жив. Кошка Лошадь Птица Рыба Собака
30 апр 02, 14:25    [26831]     Ответить | Цитировать Сообщить модератору
 RE:Тест для мозгов и компьютеров  [new]
Владимир
Guest
Подтверждаю слова GreenSunrise, это примерчик для языка Пролог.....Так что как говориться немного не по адресу...
30 апр 02, 15:31    [26832]     Ответить | Цитировать Сообщить модератору
 RE:Тест для мозгов и компьютеров  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5318
2 Дед Маздай
Допустим у нас есть два жэпега - на одном кошка, на другом собака. Кто на каком изображен определить можно легко. Заставить компьютер определить это - наверное невозможно, во всяком случае пока. Я что-то подобное имел ввиду.

2 GreenSunrise & Владимир
На 99% уверен что Пролог вы только "проходили", но не работали профессионально на нем.
Сам я тоже только читал про него, как-то баловался, даже ставил TurboProlog от Borland. На мой взгляд это язык чисто теоритический. А такие задачи (конечно не в таком извращенном виде) могут всплыть вполне реально.
Да и зачем Пролог - это на Паскале можно в 30 строчек написать. Вопрос не в этом.
30 апр 02, 15:43    [26833]     Ответить | Цитировать Сообщить модератору
 Re: Вдогон  [new]
mumu
Member

Откуда:
Сообщений: 9
Звиняйте! Маненько выпил, зачитался... не туда попал.
Но ситуацию это не меняет...
3 апр 03, 23:41    [164359]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
Александр Третьяков
Member

Откуда: Украина, г. Тернополь
Сообщений: 549
класный топик SergSuper, никогда бы не додумался такого типа задачу решать с помощью SQL.
20 июн 03, 13:00    [236170]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
boogier
Member

Откуда: Н.Новгород
Сообщений: 220
Еще интересные задания для решения на SQL на тему координатной плоскости.

Задание 1.
Имеется карта местности, на которую нанесены объекты (точки, линии, многоугольники).
Задача:
а) Спроектировать базу данных для хранения объектов карты
б) Пользователь смотрит на часть карты через окно (квадрат, заданный координатами левого нижнего и правого верхнего углов). Написать запрос, возвращающий список объектов, попадающих в это окно.

Задание 2.
Имеется координатная плоскость и расположенные на ней прямоугольники, заданные координатами левого нижнего и правого верхнего углов.
а) Спроектировать базу данных для хранения прямоугольников
б) Написать запрос, подсчитывающий общую площадь, покрываемую прямоугольниками
20 июн 03, 13:09    [236184]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
Pavel
Member

Откуда: Кемерово
Сообщений: 2435
А у меня 3а 2 сек. пролетело.
20 июн 03, 14:06    [236277]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
mahoune
Member

Откуда: Moscow
Сообщений: 5664
Задание 2
б) Написать запрос, подсчитывающий общую площадь, покрываемую прямоугольниками

А это с учетом того что прямоугольники могут перекрывать друг друга?
20 июн 03, 15:30    [236423]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
boogier
Member

Откуда: Н.Новгород
Сообщений: 220
2mahoune

Естессно, а ты думал, такие задачи в 3-м классе дают? :))
21 июн 03, 13:54    [237489]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
2 boogier
а) Спроектировать базу данных для хранения объектов карты
это несложно.
таблица объектов связана с таблицей точек, которые дают полное представление о геометрической фигуре.


б) Пользователь смотрит на часть карты через окно (квадрат, заданный координатами левого нижнего и правого верхнего углов). Написать запрос, возвращающий список объектов, попадающих в это окно.

здесь сложнее ...нужна вышка которую уже порядком забыл ..

в вышке была задачка про нахождение площади пересечения двух фигур заданных как набор координат.

кто помнит?
21 июн 03, 14:21    [237536]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5318
2 mahoune
Не знаю что Вы нашли интересного, 1-я задача вообще очевидная, вторая не намного сложнее:
set nocount on


declare @t table(id int identity, x1 int, y1 int, x2 int, y2 int)

insert @t select 1,1,6,3
union
select 2,2,3,5
union
select 4,1,5,2
---------------------


declare @x table(x int, xn int null)
declare @y table(y int, yn int null)

insert @x(x) select x1 from @t union select x2 from @t
insert @y(y) select y1 from @t union select y2 from @t

update x set x.xn=(select min(x) from @x x1 where x1.x>x.x) from @x x
update y set y.yn=(select min(y) from @y y1 where y1.y>y.y) from @y y



select sum((xn-x)*(yn-y)) from @x x, @y y
where exists(select * from @t t where x>=x1 and xn<=x2 and y>=y1 and yn<=y2)


может если подумать можно как-то пооптимальней написать, но за 15 минут сойдёт и так
21 июн 03, 14:27    [237545]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
2 Sergsuper

Картинка с другого сайта.

по моему неправильно посчитает
21 июн 03, 14:44    [237572]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5318
2 АлексейК

табличку @t пожалста заполните данными, чтоб такие прямоугольники рисовать :)

Имеется координатная плоскость и расположенные на ней прямоугольники, заданные координатами левого нижнего и правого верхнего углов.
21 июн 03, 15:05    [237617]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
хитрый какой.
не считается - это упрощение задачи.

но все равно при пересекающихся фигурах будет неправильно
будет сумма фигур а не сумма занимаемой площади ))
21 июн 03, 16:01    [237707]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5318
2 АлексейК
Я не хитрый, я внимательный :)
К тому же если задавать 4 угла - не факт что будет прямоугольник.
Можно задавать 3 вершины треугольника, но по моему это уже задачи не для SQL, что-то подобное делается при обработке 3-х мерных изображений

Ну а насчет того что мол если будет пересекающиеся фигуры, то будет неправильно - но это уж Вы меня совсем не уважаете.
Если фигуры не пересекались бы площадь считалась бы совсем просто:
select sum((x2-x1)*(y2-y1)) from @t
И значения заданы у меня для пересекающихся прямоугольников (можете взять клетчатый листок и убедиться).
Прежде чем чего-то написать я стараюсь проверить, чего и Вам желаю.
21 июн 03, 16:56    [237751]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
mahoune
Member

Откуда: Moscow
Сообщений: 5664
2SergSuper, а мне и первая задачка не очевидна!!! К примеру как понять когда есть многоугольник внутреннюю часть которого мы видим через окно, но не видим ни одной границы!
21 июн 03, 17:36    [237777]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
mzprog
Guest
В условии задачи не понятно в каком порядке расположены дома... толи они в ряд: 1 2 3 4 5 и тогда понятно,
толи ...
3 4
1 2
5

тогда бардак... :) (вот скажи, докапался до Эйнштейна :) )
12 фев 04, 08:34    [532256]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
dishlo
Member

Откуда:
Сообщений: 362
в рассуждениях Деда Маздая
нахождение цветов было логичным, вот сигареты были притянуты
автор
5-й не может курить Marlboro, т.к. Он живет по соседству с человеком, к-й пьет воду (15)
Значит, Marlboro курит 2-й, а 1-й пьет воду
Из (11) 2-й держит лошадь


курить мальборо не могли в 5-ом, но могли в 2, 3, 4.

может он не описал ход своих мыслей до конца?
Вот мои рассуждения:

строим таблицу
номер дома 1   2   3   4   5

человек
цвет
животное
напиток
сигар


из правил
9. Норвежец живет в первом доме.
13. Норвежец живет около голубого дома.
7. Жилец из среднего дома пьет молоко.

строим таблицу

номер дома 1 2 3 4 5
человек норв
цвет голуб
животное
напиток
сигар


из правил
4. Зеленый дом стоит слева от белого.
5. Жилец зеленого дома пьет кофе.

номер дома 1 2 3 4 5
человек норв
цвет голуб зеленый белый
животное молоко кофе
напиток
сигар


из правил
1. Англичанин живет в красном доме.
8. Жилец из желтого дома курит Dunhill.
11. Человек, который содержит лошадь, живет около того, кто курит Dunhill.

номер дома 1 2 3 4 5
человек норв англ
цвет желтый голуб красный зеленый белый
животное лошадь
напиток молоко кофе
сигар dunhill


А вот остальное не так очевидно
из правил
3. Датчанин пьет чай.
12. Курильщик сигарет Winfield пьет пиво.
рассуждаем что датчанин может быть только в 5 или 2 и пиво с Winfield может только в 5 или 2.
Отсюда немцу из
14. Немец курит Rothmans.
остается только в 4

номер дома 1 2 3 4 5
человек норв англ немец
цвет желтый голуб красный зеленый белый
животное лошадь
напиток молоко кофе
сигар dunhill rothmans


из правил
15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.

номер дома 1 2 3 4 5
человек норв англ немец
цвет желтый голуб красный зеленый белый
животное лошадь
напиток вода молоко кофе
сигар dunhill malboro rothmans


их правил
12. Курильщик сигарет Winfield пьет пиво.
этой паре только в 5й дом
3. Датчанин пьет чай.
и датчанин с чаем селится во 2 ом

номер дома 1 2 3 4 5
человек норв дат англ немец
цвет желтый голуб красный зеленый белый
животное лошадь
напиток вода чай молоко кофе пиво
сигар dunhill malboro rothmans winfield


ну дальше дело техники...
мдя, пол дня убил на решение и нормальное оформление :-/
12 фев 04, 14:16    [533065]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
x
Guest
2 dishlo

мдя, пол дня убил на решение и нормальное оформление :-/

Сколько этот Эйтштейн времени у народа отнял (с помощью SergSuper) ...
12 фев 04, 14:49    [533137]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
dishlo
Member

Откуда:
Сообщений: 362
меня поймали на эту фразу:
98% жителей земли будут не в состоянии ее решить.
хотелось приобщится к тем исключительным 2%
12 фев 04, 15:04    [533178]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
alex_ll
Member

Откуда: tomsk
Сообщений: 3649
To dishlo
У тебя в 3-м пункте рассуждений ошибка
Зеленый Левее белого -
Это значит, что белый не может быть 1-м, а зеленый 5-м и оба они не могут быть 2 (из п.2)

То есть вполне допустимо, что зеленый 1 а белый 5, например...
13 фев 04, 12:03    [534691]     Ответить | Цитировать Сообщить модератору
 Re: Тест для мозгов и компьютеров  [new]
alex_ll
Member

Откуда: tomsk
Сообщений: 3649
Или я туплю в воскресенье вечером или SergSuper чего то не договаривает
у меня получилось 6 решений и вроде ВСЕ удовлетворяют условиям задачи.
Проверьте кому не лень. Прошу прощения за сокрашения и ошибки в названиях сигарет - лень переделывать :)
Итак мои решения:

a)
1 Зеленый Норвежец Кофе Мальборо рыба
2 Голубой Немец вода Рот кошка
3 Желтый Швед Молоко Дун собака
4 Красный Англичанин пиво Винстон лошадь
5 Белый Датчанин Чай Пал Мал птица

b)
1 Зеленый Норвежец Кофе Пал Мал птица
2 Голубой Немец вода Рот кошка
3 Белый Швед Молоко Мальборо собака
4 Желтый Датчанин Чай Дун рыба
5 Красный Англичанин пиво Винстон лошадь

c)
1 Зеленый Норвежец Кофе Пал Мал птица
2 Голубой Немец вода Рот рыба
3 Белый Швед Молоко Мальборо собака
4 Желтый Датчанин Чай Дун кошка
5 Красный Англичанин пиво Винстон лошадь

d)
1 Зеленый Норвежец Кофе Пал Мал птица
2 Голубой Немец вода Рот кошка
3 Белый Швед Молоко Мальборо собака
4 Красный Англичанин пиво Винстон лошадь
5 Желтый Датчанин Чай Дун рыба

e)
1 Зеленый Норвежец Кофе Пал Мал птица
2 Голубой Немец вода Рот кошка
3 Красный Англичанин Молоко Мальборо лошадь
4 Желтый Датчанин Чай Дун рыба
5 Белый Швед пиво Винстон собака

f)
1 Зеленый Норвежец Кофе Пал Мал птица
2 Голубой Немец вода Рот рыба
3 Красный Англичанин Молоко Мальборо лошадь
4 Желтый Датчанин Чай Дун кошка
5 Белый Швед пиво Винстон собака


P.S. Если найдете ошибки укажите пожалуйста номер варианта и правила с которыми противоречия.
15 фев 04, 21:41    [536631]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить