Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Задачка о восьми ферзях (8 Queens)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Задача о восьми Ферзях на Oracle SQL
Как-то муторно.

+ Труъ sql ;)
WITH Queen AS (
	SELECT	X
	FROM	(
		VALUES	(1),(2),(3),(4),(5),(6),(7),(8)
	)Pos(X)
)	SELECT	 A.X A,B.X B,C.X C,D.X D,E.X E,F.X F,G.X G,H.X H
	FROM	     Queen	A		-- A		-- B		-- C		-- D		-- E		-- F		-- G
		JOIN Queen	B ON B.X NOT IN (A.X-1,A.X,A.X+1)
		JOIN Queen	C ON C.X NOT IN (A.X-2,A.X,A.X+2,B.X-1,B.X,B.X+1)
		JOIN Queen	D ON D.X NOT IN (A.X-3,A.X,A.X+3,B.X-2,B.X,B.X+2,C.X-1,C.X,C.X+1)
		JOIN Queen	E ON E.X NOT IN (A.X-4,A.X,A.X+4,B.X-3,B.X,B.X+3,C.X-2,C.X,C.X+2,D.X-1,D.X,D.X+1)
		JOIN Queen	F ON F.X NOT IN (A.X-5,A.X,A.X+5,B.X-4,B.X,B.X+4,C.X-3,C.X,C.X+3,D.X-2,D.X,D.X+2,E.X-1,E.X,E.X+1)
		JOIN Queen	G ON G.X NOT IN (A.X-6,A.X,A.X+6,B.X-5,B.X,B.X+5,C.X-4,C.X,C.X+4,D.X-3,D.X,D.X+3,E.X-2,E.X,E.X+2,F.X-1,F.X,F.X+1)
		JOIN Queen	H ON H.X NOT IN (A.X-7,A.X,A.X+7,B.X-6,B.X,B.X+6,C.X-5,C.X,C.X+5,D.X-4,D.X,D.X+4,E.X-3,E.X,E.X+3,F.X-2,F.X,F.X+2,G.X-1,G.X,G.X+1)
12 сен 11, 12:27    [11263181]     Ответить | Цитировать Сообщить модератору
 Re: Задачка о восьми ферзях (8 Queens)  [new]
седьмой ферзь
Guest
в ПТ его, в ПТ

там разберутся !!!
12 сен 11, 13:22    [11263578]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить