Dato un indirizzo e-mail, il risultato di una trasformazione applicata a quell'indirizzo e-mail e un secondo indirizzo e-mail restituiscono l'output della stessa trasformazione applicata al secondo indirizzo e-mail.
Gli indirizzi email avranno tutti la seguente struttura:
Una stringa di lunghezza positiva contenente caratteri alfanumerici e al massimo una .(la parte locale), seguita da un @simbolo, seguita da una stringa di lunghezza positiva contenente sumboli alfanumerici (il dominio), seguito da un. simbolo e da una stringa finale di lunghezza positiva contenente caratteri alfanumerici (TLD).
Esistono quattro trasformazioni consentite:
- Identità (nessun cambiamento). (
a.b@c.d -> a.b@c.d) - Restituzione solo della parte locale (tutto prima del
@) non modificata (a.b@c.d -> a.b). - Restituendo la parte locale divisa sul
.se presente, con il primo simbolo di ciascuna metà maiuscola. (a.b@c.d -> A B). - Restituisce solo il dominio (tutto tra il
@e il finale.) non modificato. (a.b@c.d -> c).
Quando è possibile più di una trasformazione, è possibile fornire l'output di una qualsiasi delle possibilità. Gli spazi bianchi all'inizio e alla fine dell'output non contano, ma nel mezzo importa (cioè se ci si divide a.bin A Bdovrebbe esserci solo uno spazio nel mezzo [e qualsiasi numero all'inizio e alla fine dell'output], ma se si divide a., quindi Acon qualsiasi numero di spazi su entrambi i lati sono tutti accettabili).
Esempi ( input | output):
john.doe@gmail.com, John Doe, phillip.maini@gmail.com | Phillip Maini
John.Doe@gmail.com, John Doe, Phillip.Maini@gmail.com | Phillip Maini
foo.bar@hotmail.com, foo.bar, gee.whizz@outlook.com | gee.whizz
foo.bar@hotmail.com, foo.bar, gEe.Whizz@outlook.com | gEe.Whizz
rodney.dangerfield@comedy.net, comedy, michael.scott@office.0 | office
.jones@x.1, Jones, a.@3.z | A
.jones@x.1, .jones@x.1, a.@3.z | a.@3.z
.jones@x.1, .jones, a.@3.z | a.
.jones@x.1, x, a.@3.z | 3
.@b.c, .@b.c, 1@2.3 | 1@2.3
john.jones@f.f, John Jones, 1in.thehand@2inthe.bush | 1in Thehand
chicken.soup@q.z, Chicken Soup, fab@ulou.s | Fab
lange@haare.0, lange, fat.so@fat.net | fat.so
Lange@haare.0, Lange, fat.so@fat.net | {fat.so, Fat So} # either acceptable
chicken@chicken.chicken, chicken, horse@pig.farm | {horse, pig} # either acceptable
Si applicano le solite regole e lacune.
@e finale .). Poiché la parte locale e il dominio sono entrambi chicken, è ambiguo che si tratti della 2a o 4a trasformazione
A[con uno spazio finale] che il secondo input sia Jones[con uno spazio iniziale])?
.jones@x.1, Jones, a.@3.zè A- se jonesè compensata che indica la parte di corrispondenza è la parte tra il primo periodo e il simbolo @. Ma ciò comporterebbe una stringa vuota perché aè prima del primo periodo e non dopo.