Loading...
RStanimirov avatar RStanimirov 10 Точки

Задача 04 Easter Bunny - Multidimensional Lists - Exercise 2 - Python Advanced Jan 2022

Здравейте колеги, задача 04. Easter Bunny от Multidimensional Lists доста ме затрудни. Линк към джъдж https://judge.softuni.org/Contests/Compete/Index/3194#3. Резгледах няколко решения на колеги на задачата с функции, като, за да разбера логиката, премахнах функциите и имплементирах логаритмите им в линеен код. Така се получи едно работещо решение без никакви функции, което бих желал да споделя https://pastebin.com/bMeYGK8G.

Ако някой желае да предложи easy-to-comprehend решения, ще се радвам.

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

1.   Easter Bunny

Your task is to collect as many eggs as possible.

On the first line, you will be given a number representing the size of the field. On the following few lines, you will be given a field with:

  • One bunny - randomly placed in it and marked with the symbol "B"
  • Number of eggs placed at different positions of the field and traps marked with "X"

Your job is to determine the direction in which the bunny should go to collect the maximum number of eggs. The directions that should be considered as possible are up, down, left, and right. If you reach a trap while checking some of the directions, you should not consider the fields after the trap in this direction. For more clarifications, see the examples below.

Коментар от упражнението: някои колеги коментираха, че в тази задача е възможно да има проблем в условието, тъй като не е казано каква е последователността на проверките (приоритетът на посоките) при равни точки в различни посоки. Има твърдения, че това води до "гърмеж" на последния тест в judge разрешим само с налучкване, докато не се уцели, че дясното е с приоритет.

Input

  • A number representing the size of the field
  • The matrix representing the field (each position separated by a single space)

Output

  • The direction which should be considered as best (lowercase)
  • The field positions from which we are collecting eggs as lists
  • The total number of eggs collected

Examples

Input

Output

Comment

5

1 3 7 9 11

X 5 4 X 63

7 3 21 95 1

B 1 73 4 9

9 2 33 2 0

right

[3, 1]

[3, 2]

[3, 3]

[3, 4]

87

The number of eggs if the bunny goes up is equal to 7. If he goes down = 9, there are no eggs on the left and 87 on the right. That's why the bunny should follow this direction (right) and collect the eggs provided there.

8

4 18 9 7 24 41 52 11

54 21 19 X 6 34 75 57

76 67 7 44 76 27 56 37

92 35 25 37 52 34 56 72

35 X 1 45 4 X 37 63

105 X B 2 12 43 5 19

48 19 35 20 32 27 42 4

73 88 78 32 37 52 X 22

down

[6, 2]

[7, 2]

113

 

 

0
Module: Python Advanced 16/02/2022 09:33:09
Kumper avatar Kumper 3 Точки

Здрасти,
Ако искаш разгледай това решение: https://pastebin.com/xhMvWbY2
Аз реших да си направя dict с посоките и си спестих проверките само с един range.
Като гледам го сбива наполовина, сигурно има вариант и още по-оптимизирано да е, ама така ми е по-лесно да си го разбирам.
:)

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