У человека есть два имени, если его фамилия также является общим именем. Вам необходимо определить, какие полные имена в списке являются двумя именами.
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
, или он отличается?