Loading...
v.angelov92 avatar v.angelov92 7 Точки

Problem 3. Plant Discovery

Здравейте, решавах тази задача, но нещо ми се счупи логиката в кода. Надявам се някой да ми обясни къде греша и защо се получава неизпълнение на условията в кода, въпреки че конкретното условие е вярно. Благодаря предварително.

Код:https://pastebin.com/gAuGVDr5

Линк към Джъдж:https://judge.softuni.bg/Contests/Practice/Index/2518#2

Условие на задачата;

Problem 3. Plant Discovery

You have now returned from your world tour. On your way you have discovered some new plants and you want to gather some information about them and create an exhibition to see which plant is highest rated.

On the first line you will receive a number n. On the next n lines, you will be given some information about the plants that you have discovered in the format: "{plant}<->{rarity}". Store that information, because you will need it later. If you receive a plant more than once, update its rarity.

After that until you receive the command "Exhibition" you will be given some of these commands:

  • Rate: {plant} - {rating}add the given rating to the plant (store all ratings)
  • Update: {plant} - {new_rarity}update the rarity of the plant with the new one
  • Reset: {plant}remove all the ratings of the given plant

Note: If any of the command is invalid, print "error"

After the command "Exhibition" print the information that you have about the plants in the following format:

Plants for the exhibition:
- {plant_name}; Rarity: {rarity}; Rating: {average_rating formatted to the 2nd digit}

The plants should be sorted by rarity descending, then by average rating descending

Input / Constraints

  • You will recive the input as described above
  • : you will receive a list of strings

Output

  • Print the information about all plants as described above

 

 

 

 

 

 

 

 

 

 

 

 

Examples

Input

Output

3

Arnoldii<->4

Woodii<->7

Welwitschia<->2

Rate: Woodii - 10

Rate: Welwitschia - 7

Rate: Arnoldii - 3

Rate: Woodii - 5

Update: Woodii - 5

Reset: Arnoldii

Exhibition

Plants for the exhibition:

- Woodii; Rarity: 5; Rating: 7.50

- Arnoldii; Rarity: 4; Rating: 0.00

- Welwitschia; Rarity: 2; Rating: 7.00

2

Candelabra<->10

Oahu<->10

Rate: Oahu - 7

Rate: Candelabra - 6

Exhibition

Plants for the exhibition:

- Oahu; Rarity: 10; Rating: 7.00

- Candelabra; Rarity: 10; Rating: 6.00

Тагове:
0
Fundamentals of Programming (with C#) 03/01/2021 10:16:02
MartinBG avatar MartinBG 4460 Точки
Best Answer

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

Това е оправеното решение - вижте го и питайте, ако има нещо неясно.

0
v.angelov92 avatar v.angelov92 7 Точки

Първо големи благодарности за отделеното време и за страхотното решение.

Като въпроси за момента имам 2:

1. Защо е необходимо да използваме във втория списък Лист, а не директно double или int?

2.Възможно ли е if условията, които бях написал да са грешни поради това, че добавям " ", което във вашето решение е премахнато с Trim()?

Благодаря за решението и отделеното време. Поздрави.smiley

0
MartinBG avatar MartinBG 4460 Точки

@v.angelov92

1. Защото за да намерим средния рейтинг за дадено растение, трябва да имаме всичките му рейтинги (сума /брой)

2. Да, проблемът при парсването на командите беше заради спейсовете. Възможно е някои от тестовете в Judge да имат команди с 2+ или 0 спейса между отделните части на командата.

0
04/01/2021 01:03:20
v.angelov92 avatar v.angelov92 7 Точки

Благодаря за разяснението и за отделеното време. Поздрави. angel

1
Catalina avatar Catalina -1 Точки

Thanks for update and quick reply. I'll be sure to keep an eye on this thread. Looking for the same issue.

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