|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrew Lazarev 2:5080/1003 08 Aug 2003 11:34:13 To : Nikita Melikhov Subject : Re: Поиск слов -------------------------------------------------------------------------------- > Подскажите алгоритм. Есть набор букв (допустим, 10). Hадо из этих букв > составить слово с макимальной длиной. Hадо понимать, что есть словарь. Вот идея на паскале. Заводим массив типа a : array [char] of integer; и в него запихиваем кол-во букв каждого типа (большенство будет 0). далее бежим по словарю for i:=1 to nwords do begin b:=a; bIsGood:=true; for j:=1 to length(word[i]) do begin dec(b[word[i][j]]); if b[word[i][j]]<0 then begin bIsGood:=false; break; end; end; if bIsGood then begin {сравнение с текушем лучшим} end; end; Если слова отсортировать по убыванию длины, то первое "хорошее" и будет ответом. -- С уважением, Лазарев Андрей --- ifmail v.2.15dev5 * Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/146469133bbc6.html, оценка из 5, голосов 10
|