Loading...
arnold avatar arnold 50 Точки

Problem 3. Plant Discovery

Здравейте, днес почти цял ден опитвам да реша тази задача, доста време отделих, judge ми да 50/100 и не мога да открия грешката. Реших да изполвам 3 речника, единият за имената на растенията с данни за "рядкост", другият с лист за "рейтинг" и двата с еднакво име за ключ, накрая правя обединяващ речник по техния ключ, за да мога да ги сортирам при отпечаването според условието.

Не знам къде греша, доста ме затрудни задачата и въпреки, че с примерните входoве всичко работи, не мога да открия защо гърмят толкова тестове в judge, ако някой може да помогне, ще ми е много интересно да разбера какво иска judge :)

https://pastebin.com/RjEDzEtK

 

https://judge.softuni.bg/Contests/Practice/Index/2518#2

 

Programming Fundamentals Final Exam 09.08.2020

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. Check properties.

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
  • JavaScript: 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

Тагове:
1
Fundamentals Module 09/08/2021 19:13:09
icowwww avatar icowwww 2813 Точки
Best Answer

Здравей,

За да даде 100/100 трябва да оправиш следните грешки:

Runtime errors - В цикъла на ред 82 добавяш за последния ред проверка дали в rating има такъв key. Тоест ако не е получавана команта Rate нито веднъж   75/100

-В Update ти липсва else-а, в който пишеш error   87/100

-При Reset не трябва да задаваш лист със стойност вътре 0, защото ако след това получиш рейтинг 10- средния няма да остане 10, а ще е 5       100/100

 

Цялото: https://pastebin.com/abwBydfH

2
09/08/2021 22:26:23
arnold avatar arnold 50 Точки

Благодаря много за подробното обяснение! Вярно, че съм изпуснал тази важна подробност с рейтинга и средния резултат :) 

0
10/08/2021 11:40:39
krum_43 avatar krum_43 756 Точки

Ето още едно решение(100/100).

https://pastebin.com/7EKYN002

0
arnold avatar arnold 50 Точки

Благодаря!

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