У человека есть два имени, если его фамилия также является общим именем. Вам необходимо определить, какие полные имена в списке являются двумя именами.
John Smith
John Doe
Luke Ryan
Ryan Johnson
Jenna Jackson
Tom John
Любое имя, встречающееся в столбце имени, может быть первым именем. Если число вхождений имени в столбце имени больше, чем количество вхождений в столбце фамилии, это определенно имя.
В приведенном выше списке Johnдважды появляется в именах и один раз в фамилиях, так что это определенно имя. Ryanпоявляется один раз в первом и один раз в последнем, так что это (вероятно) имя.
Поэтому, Tom Johnбезусловно, имеет два имени и, Luke Ryanвероятно, имеет.
Учитывая приведенный выше список, ваш код должен вывести следующее:
Luke Ryan has two first names
Tom John definitely has two first names
вход
Как упоминалось выше, ваш код будет принимать список полных имен (из стандартного ввода, по одному на строку), разделенных пробелами. Имена могут включать в себя дефис или апостроф, но вы никогда не будет дано имя или фамилию , которое включает пробелы (т.е. нет Liam De Rosa, но Liam De-Rosaи Liam De'Rosaчестная игра. Другими словами, имена будут совпадать [-'A-Za-z]+.
Каждое полное имя будет уникальным (то есть John Smithне появится дважды).
Выход
Напечатайте полные имена (один раз в строке), а затем либо, has two first namesлибо definitely has two first namesесли они соответствуют критериям, указанным выше. Имена должны быть напечатаны только один раз.
Имена, которые не являются двумя именами, не должны быть напечатаны.
Вы должны сохранить регистр и специальные символы имени.
Примеры
вход
Madison Harris
Riley Hudson
Addison Hills
Riley Phillips
Scott Hill
Levi Murphy
Hudson Wright
Nathan Baker
Harper Brooks
Chloe Morris
Aubrey Miller
Hudson Lopez
Samuel Owen
Wyatt Victoria
Brooklyn Cox
Nathan Murphy
Ryan Scott
Выход
Riley Hudson definitely has two first names
Ryan Scott has two first names
вход
Owen Parker
Daniel Hall
Cameron Hall
Sofia Watson
Mia Murphy
Ryan Jones
Emily Ramirez
Выход
[no output]
вход
Olivia Robinson
Jacob van-Dyke
Jacob Ella
Brayden De'Rosa
Levi Brook
Brook Bella
Ella Hill
Ella Anderson
Brook-Anne van-Dyke
Выход
Jacob Ella definitely has two first names
Levi Brook has two first names
Примечания и оценка
- Это код гольф. Наименьшее количество баллов (в байтах).
- применяются стандартные лазейки .
Удачи!
Johnsonбудет отличаться John. Имена должны точно совпадать.
definitely has two first namesа has two first names? Это всегда может быть одним из тех?
definitelyслучае, если имя встречается в столбце имени больше раз, чем в столбце фамилии. Этот случай переопределяет, поэтому только отображение definitely has two first names. Проверьте примеры.
JohnsonсчитатьсяJohn, или он отличается?