Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / upp-2025 / week13 / index.du
diff options
context:
space:
mode:
1 files changed, 159 insertions, 105 deletions
-rw-r--r--src/teaching/upp-2025/week13/index.du264
diff --git a/src/teaching/upp-2025/week13/index.du b/src/teaching/upp-2025/week13/index.du
index 1ff00e7..d8edf79 100644
--- a/src/teaching/upp-2025/week13/index.du
+++ b/src/teaching/upp-2025/week13/index.du
@@ -1,25 +1,26 @@
-# Задачи - УПП, Седмица 13, 08.01.2026
+'def title Задачи - УПП, Седмица 13, 08.01.2026
+'def desc Условията на задачите за упражнение.
-'define expected-reading 15 min
-'define created 05 January 2025
-'define edited 08 January 2025
-[$pagenav]
+# {title}
+
+{pagenav 15 min;05 January 2025;08 January 2025}
.important Използвайте рекурсия, за да решите всички тези задачи!
-GitHub Classroom: [url https://classroom.github.com/a/8vTquPOY]
+GitHub Classroom: {url https://classroom.github.com/a/8vTquPOY}
## За решаване
### Задача 1
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise01.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise01.cpp}
Реализирайте програма, която по подаден положителен размер изкарва "стълбище" от плюсове.
.warn Както с всички останали задачи, решете условието с рекурсия!
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -50,17 +51,19 @@ GitHub Classroom: [url https://classroom.github.com/a/8vTquPOY]
+++++++
+
### Задача 2
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise02.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise02.cpp}
-Припомняме, че в [url https://en.wikipedia.org/wiki/Fibonacci_sequence редицата на Фибоначи], всеки следвавщ елемент е сумата на предходните два, като първите два елемента са 0 и 1.
+Припомняме, че в {url редицата на Фибоначи;https://en.wikipedia.org/wiki/Fibonacci_sequence}, всеки следвавщ елемент е сумата на предходните два, като първите два елемента са 0 и 1.
От входа получавате неотрицателен индекс, трябва да изкарате съответното число на Фибоначи.
.warn Както с всички останали задачи, решете условието с рекурсия!
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -86,16 +89,18 @@ GitHub Classroom: [url https://classroom.github.com/a/8vTquPOY]
|: 3524578
+
### Задача 3
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise03.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise03.cpp}
От входа получавате цяло неотрицателно число.
Изкарайте сумата на всички негови цифри.
.warn Както с всички останали задачи, решете условието с рекурсия!
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -109,14 +114,16 @@ GitHub Classroom: [url https://classroom.github.com/a/8vTquPOY]
|: 38
+
### Задача 4
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise04.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise04.cpp}
От входа получавате един ред с текст.
Трябва да обърнете реда на всички букви в текста и да изкарате резултата.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -134,17 +141,19 @@ He should not have built the fire under the pine tree.
|:
```
-.eert enip eht rednu erif eht tliub evah ton dluohs eH
+\.eert enip eht rednu erif eht tliub evah ton dluohs eH
+
### Задача 5
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise05.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise05.cpp}
От входа получавате цяло неотрицателно число.
Изкарайте "хълм" от плюсове с размер, подаденото число.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -184,16 +193,18 @@ He should not have built the fire under the pine tree.
+
+
### Задача 6
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise06.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise06.cpp}
-Напишете рекурентна функция, която по подадени две цели числа [`a`] и [`b`], връща сумата [=и=] средното аритметично на всички числа между [`a`] и [`b`], включително.
+Напишете рекурентна функция, която по подадени две цели числа {` a} и {` b}, връща сумата {b и} средното аритметично на всички числа между {` a} и {` b}, включително.
От входа получавате две цели числа.
-Използвайки вашата функция, изкарайте сумата и средното аритметично на всички цели числа в интервала [`[a, b]`].
+Използвайки вашата функция, изкарайте сумата и средното аритметично на всички цели числа в интервала {` [a, b]}.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -204,14 +215,16 @@ He should not have built the fire under the pine tree.
|: 69 3
+
### Задача 7
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise07.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise07.cpp}
От входа получавате неотрицателно цяло число - брой битове.
Изкарайте всички възможни двоични числа, съставени от броя битове.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -236,17 +249,19 @@ He should not have built the fire under the pine tree.
111
+
### Задача 8
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise08.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise08.cpp}
От входа получавате неотрицателен индекс, трябва да изкарате преплетената поредица от числа на Фибоначи, от първото до това на подадения индекс.
По-точно, трябва резултатните елементи на четните индекси да представляват редицата на Фибоначи в нарастващ ред, и тези на нечетните индекси да са същата редица в намаляващ ред.
.warn
-Изполвайте [=само=] едно начално извикване на рекурентната ви функция.
+Изполвайте {b само} едно начално извикване на рекурентната ви функция.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -260,14 +275,16 @@ He should not have built the fire under the pine tree.
|: 0 0
+
### Задача 9
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise09.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise09.cpp}
От входа получавате низ, съставен само и единствено от отварящи и затварящи кръгли скоби.
Трябва да върнете дали скобите са балансирани, т.е. дали след всяка отваряща скоба, съществува "нейна си" затаваряща скоба, по-нататък в низа.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -302,16 +319,18 @@ He should not have built the fire under the pine tree.
|: Balanced
+
### Задача 10
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise10.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise10.cpp}
-Използвайки [=опашкова рекурсия=], имплементирайте функция която приема масив от реални числа и връща сумата на всички тях.
+Използвайки {b опашкова рекурсия}, имплементирайте функция която приема масив от реални числа и връща сумата на всички тях.
От входа получавате неотрицателно число N и след това N на брой реални числа.
Използвайки вашата функция, изкарайте сумата на всички реални числа.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -322,17 +341,19 @@ He should not have built the fire under the pine tree.
|: 141.83
+
### Задача 11
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise11.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise11.cpp}
-Напишете програма, която решава [url https://en.wikipedia.org/wiki/Ages_of_Three_Children_puzzle пъзела с възрастта на трите деца].
+Напишете програма, която решава {url пъзела с възрастта на трите деца;https://en.wikipedia.org/wiki/Ages_of_Three_Children_puzzle}.
В пъзела знаете сумата на възрастите на трите деца, умножението на възрастите, както и факта, че едно от децата е най-голямо.
От входа получавате две положителни числа: сумата и произведението на възрастите.
Трябва да изкарате резултата:
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -343,17 +364,19 @@ He should not have built the fire under the pine tree.
|: 2 2 9
+
### Задача 12
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise12.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise12.cpp}
От входа получавате неотрицателно число N и след това N на брой цели числа.
-Трябва да изкарате дължината на най-дългата [=строго нарастваща=] подредица (под-последователност) от числа.
+Трябва да изкарате дължината на най-дългата {b строго нарастваща} подредица (под-последователност) от числа.
.note
-[*(11.01.2026)*] Поправени примери
+{i (11.01.2026)} Поправени примери
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -373,11 +396,12 @@ He should not have built the fire under the pine tree.
|: 6
+
### Задача 13
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise13.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise13.cpp}
-Напишете програма, която решава [url https://en.wikipedia.org/wiki/Takuzu Такузу пъзели].
+Напишете програма, която решава {url Такузу пъзели;https://en.wikipedia.org/wiki/Takuzu}.
Пъзлите са формулирани така: в дъска 4 на 4 трябва да се попълнят нули и единици, така че на всяка колона и ред да има еднакъв брой нули и единици.
Допълнително, на всеки ред и колона, не може да има повече от две последователни еднакви числа.
@@ -385,7 +409,8 @@ He should not have built the fire under the pine tree.
От входа получавате нерешен такузу пъзел, където "празните" позиции са маркирани с -1.
Трябва да изкарате решение на пъзела.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -432,21 +457,23 @@ He should not have built the fire under the pine tree.
1 1 0 0
+
## За упражнение
### Задача 14
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise14.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise14.cpp}
-Един от най-простите алгоритми за псевдо-случайни числа е [url https://en.wikipedia.org/wiki/Lehmer_random_number_generator генератора на Лемер].
-Започвайки от "seed" [`X[_0_]`], всяко следващо случайно число [`X[_k+1_]`] е равно на [`(a * X[_k_]) mod m`], където [`а`] и [`m`] са константи.
+Един от най-простите алгоритми за псевдо-случайни числа е {url генератора на Лемер;https://en.wikipedia.org/wiki/Lehmer_random_number_generator}.
+Започвайки от "seed" {` X{_ 0}}, всяко следващо случайно число {` X{_ k+1}} е равно на {` (a * X{_ k}) mod m}, където {` а} и {` m} са константи.
-Нека да фиксираме [`a = 16807`] и [`m = 2[^31^] - 1`].
-От входа получавате две положителни цели числа: "seed" и бройка [`N`].
+Нека да фиксираме {` a = 16807} и {` m = 2{^ 31} - 1}.
+От входа получавате две положителни цели числа: "seed" и бройка {` N}.
-Трябва да изкарате всички произволни числа [`X[_1_]`] до [`X[_N_]`].
+Трябва да изкарате всички произволни числа {` X{_ 1}} до {` X{_ N}}.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -460,25 +487,27 @@ He should not have built the fire under the pine tree.
|: 16807 282475249 1622647863 947787490 1578127215
+
### Задача 15
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise15.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise15.cpp}
Във физиката, можем да определим позицията на едно тяло по елиптична (Кеплерова) орбита чрез екцентричната аномалия.
Обаче, на практика тя не се намира директно, ами се изчисляват средната аномалия и ексцентрицитетът на елипсата.
-Чрез [url https://en.wikipedia.org/wiki/Kepler%27s_equation уравнението на Кеплер], можем да изведем следната рекурентна връзка за екцентричната аномалия:
+Чрез {url уравнението на Кеплер;https://en.wikipedia.org/wiki/Kepler%27s_equation}, можем да изведем следната рекурентна връзка за екцентричната аномалия:
-[image ./img/eccentric-anomaly.png]
+{img ./img/eccentric-anomaly.png}
-Където [`M`] е средната аномалия и [`e`] е ексцентрицитетът на елипсата.
-От входа получавате две реални числа, [`M`] и [`e`], както и цяло положително число "дълбочина".
+Където {` M} е средната аномалия и {` e} е ексцентрицитетът на елипсата.
+От входа получавате две реални числа, {` M} и {` e}, както и цяло положително число "дълбочина".
Трябва да върнете (приближение на) екцентричната аномалия, като рекурсията ви трябва да се "вложи" максимум "дълбочина" на брой пъти.
-За дъно на рекурсията, може да върнете стойността [`M`].
-Използвайте [`<cmath>`] за синус функцията.
+За дъно на рекурсията, може да върнете стойността {` M}.
+Използвайте {` <cmath>} за синус функцията.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -492,16 +521,18 @@ He should not have built the fire under the pine tree.
|: 1.42528
+
### Задача 16
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise16.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise16.cpp}
От входа получавате две неотрицателни цели числа.
-Изкарайте техния най-голям общ делител, използвайки [url https://en.wikipedia.org/wiki/Euclidean_algorithm алгоритъма на Евклид]:
+Изкарайте техния най-голям общ делител, използвайки {url алгоритъма на Евклид;https://en.wikipedia.org/wiki/Euclidean_algorithm}:
-[image ./img/gcd-euclid.png]
+{img ./img/gcd-euclid.png}
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -515,14 +546,16 @@ He should not have built the fire under the pine tree.
|: 1
+
### Задача 17
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise17.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise17.cpp}
От входа получавате един ред с текст.
Трябва да изкарате дали текста е палиндром.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -539,14 +572,16 @@ racecar racecar
|: Is a palindrome
+
### Задача 18
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise18.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise18.cpp}
От входа получавате цяло неотрицателно число и цифра, между 1 и 9.
Трябва да изкарате бройката срещания на цифрата в числото.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -560,18 +595,20 @@ racecar racecar
|: 4
+
### Задача 19
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise19.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise19.cpp}
Един от начините да изчислим стойността на биномен коефициент е чрез следната рекурентна връзка:
-[image ./img/binom.png]
+{img ./img/binom.png}
-От входа получавате две неотрицателни цели числа [`n`] и [`k`].
+От входа получавате две неотрицателни цели числа {` n} и {` k}.
Трябва да изкарате съответния биномен коефициент, използвайки рекурентната връзка.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -585,11 +622,13 @@ racecar racecar
|: 1
+
### Задача 20
Напишете програма, която "изиграва" всички възможни игри на морски шах и връща в колко тях някой печели и в колко от тях никой не печели.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -598,21 +637,23 @@ racecar racecar
.comment Source: http://www.se16.info/hgb/tictactoe.htm
+
### Задача 21
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise21.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise21.cpp}
-[url https://en.wikipedia.org/wiki/Levenshtein_distance Разстоянието на Ливенщайн] е метод за измерване на разликата между два низа.
+{url Разстоянието на Ливенщайн;https://en.wikipedia.org/wiki/Levenshtein_distance} е метод за измерване на разликата между два низа.
Смята се по следния начин:
-[image ./img/levenshtein.png]
+{img ./img/levenshtein.png}
-Където с [`x[1..]`] бележим остатък от низа [`x`], след първата буква.
+Където с {` x[1..]} бележим остатък от низа {` x}, след първата буква.
От входа получавате два реда с текст.
Трябва да върнете разстоянието на Ливенщайн между тях.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -638,18 +679,20 @@ Winterland
|: 1
+
### Задача 22
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise22.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise22.cpp}
-Аритметико-геометричното на две числа [`a`] и [`b`] се дефинира чрез следната рекурентна връзка:
+Аритметико-геометричното на две числа {` a} и {` b} се дефинира чрез следната рекурентна връзка:
-[image ./img/agm.png]
+{img ./img/agm.png}
-От входа получавате две реални числа, [`a`] и [`b`], и брой итерации [`n`].
-Изкарайте резултатното аритметико-геометрично число, като за дъно на рекурсията можете да върнете [`a[_n+1_]`].
+От входа получавате две реални числа, {` a} и {` b}, и брой итерации {` n}.
+Изкарайте резултатното аритметико-геометрично число, като за дъно на рекурсията можете да върнете {` a{_ n+1}}.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -663,16 +706,18 @@ Winterland
|: 0.189868
+
### Задача 23
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise23.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise23.cpp}
-Използвайки [=опашкова рекурсия=], напишете функция, която получава масив от цели числа и връща най-големия елемент от тях.
+Използвайки {b опашкова рекурсия}, напишете функция, която получава масив от цели числа и връща най-големия елемент от тях.
-От входа получавате неотрицателно цяло [`N`] и след това [`N`] на брой цели числа.
+От входа получавате неотрицателно цяло {` N} и след това {` N} на брой цели числа.
Използвайки вашата функция, изкарайте най-голямото число.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -683,19 +728,21 @@ Winterland
|: 1
+
### Задача 24
-.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise24.cpp Решение]
+.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week13/Exercise24.cpp}
Чрез бездънни дроби можем да представим редица функции/изрази, за които няма точна формула.
-От входа получавате реално число [`x`] и дълбочина [`n`], върнете [`e[^x^]`] използвайки:
+От входа получавате реално число {` x} и дълбочина {` n}, върнете {` e{^ x}} използвайки:
-[image ./img/eulers_identity.png]
+{img ./img/eulers_identity.png}
Като, всеки "етаж" от дробта е единица дълбочина (и първото ниво е 0).
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -712,10 +759,11 @@ Winterland
|: 23.1406
+
### Задача 25
От входа получавате положителни цели размери на матрица от букви.
-След това получавате стойностите на самата матрица, като буквата [`#`] определя стена и [`.`] определя празно пространство.
+След това получавате стойностите на самата матрица, като буквата {` #} определя стена и {` .} определя празно пространство.
Накрая получавате двойка индекси (координат) в матрицата.
Трябва да запълните всички празни клетки, които са достижими от подадения координат (като не може да се минаава през стените).
@@ -725,12 +773,13 @@ Winterland
От входа получавате недовършен судоку пъзел, където празните клетки са отбелязани с -1.
Трябва да намерите и изкарате решение(то) на пъзела.
-:table_2
+:table
+:2
|= Вход
|= Изход
|:
-:code
+````
6 -1 3 2 -1 5 7 -1 1
-1 2 -1 -1 -1 -1 -1 9 -1
9 -1 -1 6 -1 7 -1 -1 3
@@ -745,7 +794,7 @@ Winterland
|:
-:code
+````
6 4 3 2 9 5 7 8 1
5 2 7 8 1 3 4 9 6
9 1 8 6 4 7 5 2 3
@@ -760,18 +809,20 @@ Winterland
+
### Задача 27
-[url https://en.wikipedia.org/wiki/Recaman%27s_sequence#bodyContent Редицата на Рекаман] се дефинира по следния начин:
+{url Редицата на Рекаман;https://en.wikipedia.org/wiki/Recaman%27s_sequence#bodyContent} се дефинира по следния начин:
.unordered
-- първия елемент (с индекс [`n = 0`]) е 0
-- всеки следващ елемент е равен на предходния минус [`n`], ако резултата ще е положително и резултата не е срещан преди
-- иначе, всеки следващ елемент е равен на предходния плюс [`n`]
+- първия елемент (с индекс {` n = 0}) е 0
+- всеки следващ елемент е равен на предходния минус {` n}, ако резултата ще е положително и резултата не е срещан преди
+- иначе, всеки следващ елемент е равен на предходния плюс {` n}
-От входа получавате цяло неотрицателно чило [`n`], изкарайте [`n`]-тото число от редицата на Рекаман.
+От входа получавате цяло неотрицателно чило {` n}, изкарайте {` n}-тото число от редицата на Рекаман.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -788,15 +839,17 @@ Winterland
|: 1
+
### Задача 28
-Напишете програма, която връща [=бройката решения=] на [url https://en.wikipedia.org/wiki/Eight_queens_puzzle пъзела на 8те царици].
+Напишете програма, която връща {b бройката решения} на {url пъзела на 8те царици;https://en.wikipedia.org/wiki/Eight_queens_puzzle}.
Пъзела е формулиран така: имате шахматна дъска (8 на 8) и върху нея имате 8 царици.
Припомняме, че царицата се движи вертикално, хоризонтално и диагонално по дъската.
Целта на пъзела е цариците да се поставят така, че нито една царица да не може да вземе никоя друга.
-:table_2
+:table
+:2
|= Вход
|= Изход
@@ -804,10 +857,11 @@ Winterland
|: 92
+
### Задача 29
От входа получавате положителни цели размери на матрица от букви.
-След това получавате стойностите на самата матрица, като буквата [`#`] определя стена и [`.`] определя празно пространство.
+След това получавате стойностите на самата матрица, като буквата {` #} определя стена и {` .} определя празно пространство.
Накрая получавате две двойки координати (индекси) в матрицата.
Трябва да изкарате дали има път по празните пространства, така че да се придвижите от началните (първите) координати до финалните (вторите).
@@ -821,7 +875,7 @@ Winterland
Целта е да изкараме дали подадения низ съответства на шаблона.
За нашите цели, регулярнят израз ще има следния формат: започвайки от началото, всяка буква директно съответства на буква в подадения низ.
-Обаче, имаме специалната буква [`*`], която казва, че предходната буква може да се повтори нула или повече пъти.
+Обаче, имаме специалната буква {` *}, която казва, че предходната буква може да се повтори нула или повече пъти.
-Тоест, ако в регулярния израз нямаме [`*`], на практика проверяваме дали двата низа съвпадат.
-В случаите когато имаме [`*`], [*пробваме*] да съпоставим буквата, например в регулярен израз "a*", низовете "", "a", "aa", "aaa" съответстват.
+Тоест, ако в регулярния израз нямаме {` *}, на практика проверяваме дали двата низа съвпадат.
+В случаите когато имаме {` *}, {i пробваме} да съпоставим буквата, например в регулярен израз "a*", низовете "", "a", "aa", "aaa" съответстват.