powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Пятничный phone spell.
9 сообщений из 9, страница 1 из 1
Пятничный phone spell.
    #38826166
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здарова други!

Очередная пятничная задачка на сях. Phone Spell.

Дано: телефонная олдскульная клавиатура. С латиницей.



На сях С/C++:

Для заданного списка телефонов сформировать все возможные варианты
phone spell, или phone word. Правила трансформации цифры в букву - отражены
на самом рисунке клавиатуры. Например 2 = {'a','b','c'}

Input:
Код: sql
1.
2.
+1-800-405-4329
380-503-4534-20



Output:

Код: sql
1.
2.
3.
+1-800-405-4329 1-800-H0LIDAY
380-503-4534-20 38050-file-I-a-0
380-503-4534-20 38050-dike-ha-0



При этом:

1) цифирки 0 и 1 не транслируются. Так и остаются.
2) допускается два слова подряд. Через дефис. Вариант с "dike-ha-0"
3) у каждого phone может быть много вариантов phone-spell
3) допускается не транслировать некоторые цыфирки если уж совсем не нашлось (OMG!) вариантов.


Источники:

Для тестов:

http://dialabc.com/words/search/
http://phonespell.org/

Справочник английских существительных (можно любой другой):

http://people.virginia.edu/~rlc9s/sys6005/english-words.35.txt

Go! Go!

Хардкод приветствуется! Главное - чтоб работало!

Rust, и прочая эзотерика ... хехе - под кат. Сами понимаете. Закон есть закон
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826193
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно для особо одаренных объяснить попроще, пожалуйста..
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826206
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл телефон? - Вспомнил "магическое" слово связное с этим телефоном.
Набрал его на олд-скульной клаве. Хопа. Вот он телефон.
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826298
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если номер 10значный, то чем не подходит полный перебор ? Или номер может быть сколь угодно значным ?
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826334
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

Вообще, скорее всего, да, любой. То есть тут задача сводится к тому чтобы, имея словарь, замапить набор цифр во все возможные слова, примерно, как в режиме T9.

mayton, кстати, а почему не сделать 0 пробелом (на картинке он обозначен пробелом), как раз можно было бы выделять границы слов.

P.S. если будет настроение, дома займусь, а то пока на работе -- не до этого :)
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826375
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZmayton, кстати, а почему не сделать 0 пробелом (на картинке он обозначен пробелом), как раз можно было бы выделять границы словОт зашибись будут набираться номера типа 800-4000012 ...
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826425
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю таких не очень много.
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826428
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДумаю таких не очень много.Это повод делать плохое?
...
Рейтинг: 0 / 0
Пятничный phone spell.
    #38826437
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай подумаем. Восьмерка - это 8 = {'t','u','v'}.

У нас есть варианты для 800-*

Код: plaintext
1.
2.
3.
t00
u00
v00



Первый - хотя и не английское слово но вполне себе ассоциативен. На "too" похоже.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Пятничный phone spell.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]