Задача 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 |
|