Ваша задача - написать программу, в которой есть список сообщений чата, подсчитать, сколько раз каждый пользователь получает пинг, чтобы я мог знать, насколько популярны все. Но, поскольку я должен сделать это тайно, мне нужно, чтобы он был как можно меньше, чтобы я мог скрыть код.
Спекуляции
- Входные данные поступают в виде списка из двух кортежей, причем каждый элемент имеет форму
("username", "message")
. - Пинг другому пользователю определяется как
@
сопровождаемый 3 или более буквами, которые однозначно относятся к этому пользователю. - Тем не менее, вы также должны рассмотреть ответы, которые должны начинаться с
:messageid
пробела. - Предположим, что первое сообщение имеет идентификатор
0
и последовательно. - Выведите каждого пользователя и скажите, сколько раз каждый получил пинг.
- Вывод может быть в любом порядке / разумном формате.
- Это код-гольф , поэтому выигрывает самый короткий код в байтах !
Тестовые случаи
[["AlexA.", "I am wrong"], ["Quartatoes", "@Alex you are very wrong"], ["AlexA.", ":1 I am only slightly wrong"]]
AlexA.: 1
Quartatoes: 1
[["Doorknob", "I have never eaten an avocad."], ["AquaTart", ":0 I will ship you an avocad"], ["AlexA.", ":0 this is shocking"]]
Doorknob: 2
AquaTart: 0
AlexA.: 0
[["Geobits", "I like causing sadness through downvotes."], ["Flawr", "I want to put random message ids in my chat messages :0 askjdaskdj"]]
Geobits: 0
Flawr: 0
[["Downgoat", "goatigfs.com/goatgif"], ["Downotherthing", "@Downgoat cool gifs"], ["Dennis", "@Down cool gifs this is an ambiguous ping"]]
Downgoat: 1
Downotherthing: 0
Dennis: 0
«Мне нравится вызывать грусть из-за отрицательных голосов». Вы знаете, что есть только один правильный способ, которым я могу ответить на это, верно? ;)
—
Геобиц
В какой момент мы останавливаемся с шутками «Алекс не прав»?
—
Мартин Эндер
Может ли ответ быть вне диапазона (например, первое сообщение начинается с
—
Sp3000
:3
) или пинг не удовлетворяет любого пользователя в комнате (например @zzz
)?
Может ли проверенный пользователь еще не опубликовал сообщение, когда он проверен? Например,
—
ETHproductions
[["Doorknob","@Alex is wrong"],["Alex","I am only slightly wrong"]]
допустимый ввод?
:0
удваивается, как удивленный смайлик.