Вот конкурс онлайн-программирования, который мы планируем провести.
Какие могут быть возможные подходы к решению той же проблемы?
Из случайного журнала IRC (Internet Relay Chat) небольшой процент псевдонимов пользователей будет случайно удален. Код участника должен быть в состоянии заполнить пропущенные ники пользователя. Другими словами, это событие требует от вас разработки интеллектуальной программы, которая может выяснить, «кто мог бы сказать, что».
Можно предположить, что все общение будет вестись на современном английском языке с пунктуацией или без нее.
Например -
Оригинальный чат:
...
<user1>: Hey!
<user2>: Hello! Where are you from, user1?
<user3>: Can anybody help me out with Gnome installation?
<user1>: India. user3, do you have the X Windows System installed?
<user2>: Cool. What is Gnome, user3?
<user3>: I don’t know. How do I check?
<user3>: Its a desktop environment, user2.
<user2>: Oh yeah! Just googled.
<user1>: Type “startx” on the command line. Login as root and type “apt-get install gnome”.
<user3>: Thanks!
<user5>: I’m root, obey me!
<user2>: Huh?!
<user3>: user2, you better start using Linux!
...
Участнику будет предоставлено только следующее.
Журнал чата с удаленными никами:
..
: Эй!
: Привет! Откуда вы, user1?
: Кто-нибудь может мне помочь с установкой Gnome?
: Индия. user3, у вас установлена система X Windows?
: Круто. Что такое Gnome, user3?
<%%%> : я не знаю. Как я могу проверить?
<%%%>: Это среда рабочего стола, user2.
: О да! Просто гуглил.
: введите «startx» в командной строке. Войдите в систему как пользователь root и введите «apt-get install gnome».
: Спасибо!
<%%%> : Я root, подчиняйся мне!
<%%%> : А ?!
: user2, вам лучше начать использовать Linux!
...
Задача кода участника - заменить "<%%%> s" соответствующими никами пользователя. В неоднозначных случаях, таких как случайный комментарий в приведенном выше примере (который мог бы сказать любой другой пользователь!), Код должен указывать то же самое.