Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2014, 10:26   #1
ShaoKahn
Новичок
Джуниор
 
Регистрация: 05.12.2014
Сообщений: 1
По умолчанию Задача на PL/SQl

Добрый день, есть такая задача:

В таблице содержится информация о произвольном наборе косточек домино (левое число косточки, правое число косточки). Создать программу для определения списка “рыбных” ситуаций (т.е. ситуаций, когда остается одна или более косточек исходного набора, которые некуда положить) и количества таких ситуаций.
Например, если в таблице содержится информация о наборе из трех косточек:
левое число косточки правое число косточки
2 0
2 6
1 5
то список рыбных ситуаций:
(6,2) -> (2,0) Осталась кость (1,5)
(1,5) Остались кости (2,6) , (2,0)
Количество рыбных ситуаций: 2
Примечание: программа должна предусматривать проверку правильности заполнения таблицы.

Вот в чем собственно сам вопрос:
Я делаю эту задачу по такому алгоритму, создаю 3 индексных таблицы, в 1 записываю костяшки(отдельно право и лево) и номер вершины, во 2 записываю просто костяшки(право и лево), в 3 записываю номер костяшки из первой таблицы и посищенность(тоесть если костяшка уже использована, то записываю 1, если нет то 0). Потом начинается сам перебор, внешний цикл перебирает начальные вершины(костяшки), внутренний перебирает вершины из второго массива, если есть совпадение, то начинает сравниваться уже эта вершина со всеми остальными, если весь второй массив перебран, то возвращаемся по порядку вершины на 1 назад и ищем вершины, которые ещё не использовались, но возможны для использования(например была такая комбинация 02-26-63, а возможно ещё и 02-26-61, и нам как раз и надо найти 61) и вот тут и начинается загвоздка, ведь если есть такая ситуация где у костяшки есть 3 или более продолжения, причем одно или несколько из них использованы в предыдущей комбинации, то мне никак не дойти до последнего продолжения, тоесть до того, которое стоит самым последним во второй индексной таблице, подскажите пожалуйста, как это победить?
ShaoKahn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на PL/SQl ShaoKahn Фриланс 4 08.12.2014 09:25
задача по SQL Mcduff Помощь студентам 2 29.05.2014 11:06
Задача на sql oleg2012g SQL, базы данных 3 22.05.2013 10:42
Задача по SQL Соул Помощь студентам 1 08.10.2011 20:43
Задача по SQL gotex SQL, базы данных 11 23.12.2010 17:52