Il tuo compito è quello di scrivere un programma che fornisca un elenco di messaggi di chat contando quante volte ogni persona riceve un ping, così posso sapere quanto sono popolari tutti. Ma, dal momento che devo farlo di nascosto, ho bisogno che sia il più piccolo possibile in modo da poter nascondere il codice.
Specifiche
- L'input viene fornito in un elenco di 2 tuple, con ogni elemento nel modulo
("username", "message"). - Un ping per un altro utente è definito come
@seguito da 3 o più lettere che si riferiscono in modo inequivocabile a quell'utente. - Tuttavia, devi anche considerare le risposte, che devono iniziare
:messageidseguite da uno spazio. - Supponiamo che il primo messaggio abbia id
0e proceda in sequenza. - Invia ogni utente e indica quante volte è stato eseguito il ping di ognuno.
- L'output può essere in qualsiasi ordine / formato ragionevole.
- Questo è code-golf , quindi vince il codice più breve in byte !
Casi test
[["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
:3) o un ping che non soddisfa alcun utente nella stanza (ad esempio @zzz)?
[["Doorknob","@Alex is wrong"],["Alex","I am only slightly wrong"]]input valido?
:0doppio di un'emoticon sorpresa.