RRPetrova 0 Точки

## Family Tree_Java advanced Exercise

Здравейте,

Имам една логика за тази задача, която не мога да докарам до край. Може ли някой да погледне и да каже въобще може ли да се довърши по този начин.

Пазя данните в два мапа родители и деца String String - - ключ име и стойност  години, при зададено само име - слагам празен стринг за дата, и обратно.

При получаване на липсващите данни после, не мога да сменя ключа от празен стринг на името да отиде на същата позиция, където е бил. Мога да го добавя накрая, а така не изпълнявам условието за поредност на данните.

Ако някой има и линк за решена задача от лекторите, моля да сподели.

https://pastebin.com/3CPwhsZN

https://judge.softuni.bg/Contests/Practice/Index/1518#7

Условие:

You want to build your family tree, so you went to ask your grandmother, sadly your grandmother keeps remembering information about your predecessors in pieces, so it falls to you to group the information and build the family tree.

On the first line of the input you will receive either a name or a birthdate in the format "<FirstName> <LastName>" or "day/month/year" - your task is to find information about the person in the family tree. On the next lines until the command "End" is received you will receive information about your predecessors that you will use it to build the family tree.

The information will be in one of the following formats:

• "FirstName LastName - FirstName LastName"
• "FirstName LastName - day/month/year"
• "day/month/year - FirstName LastName"
• "day/month/year - day/month/year"
• "FirstName LastName day/month/year"

The first 4 formats reveal a family tie – the person on the left is parent to the person on the right (as you can see the format does not need to contain names, for example the 4th format means the person born on the left date is parent to the person born on the right date). The last format ties different information together – i.e. the person with that name was born on that date. Names and birthdates are unique – there won’t be 2 people with the same name or birthdate, there will always be enough entries to construct the family tree (all people names and birthdates are known and they have atleast one connection to another person in the tree).

After the command "End" is received you should print all information about the person whose name or birthdate you received on the first line – his name, birthday, parents and children (check the examples for the format). The people in the parents and children lists should be ordered by their first appearance in the input (regardless if they appeared as a birthdate or a name, for example in the first input Stamat is before Penka because he first appeared in the second line, while she appears in the third.).

### Examples

 Input Output Pesho Peshev 11/11/1951 - 23/05/1980 Penka Pesheva - 23/05/1980 Penka Pesheva 09/02/1953 Pesho Peshev - Gancho Peshev Gancho Peshev 01/01/2005 Stamat Peshev 11/11/1951 Pesho Peshev 23/05/1980 End Pesho Peshev 23/05/1980 Parents: Stamat Peshev 11/11/1951 Penka Pesheva 09/02/1953 Children: Gancho Peshev 01/01/2005 13/12/1993 25/03/1934 - 04/04/1961 Poncho Tonchev 25/03/1934 04/04/1961 - Moncho Tonchev Toncho Tonchev - Lomcho Tonchev Moncho Tonchev 13/12/1993 Lomcho Tonchev 07/07/1995 Toncho Tonchev 04/04/1961 End Moncho Tonchev 13/12/1993 Parents: Toncho Tonchev 04/04/1961 Children:
Тагове:
0
28/08/2020 14:18:05
rancho83a 3 Точки

Не намерих решена задача от лекторите, но за сметка на това си я реших сам по начин, който не съм срещал във форума. Дано да е от полза на някой:
Main:  https://pastebin.com/J4cSUFQB
Person: https://pastebin.com/W70MrXn8

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.