10.29 Поиск с возвратом

Форма для сдачи

Задача о ферзях

Будем пользоваться не шахматной, а Сишной нотацией: вместо a…h / 1…8 используем индексы 0…7 / 0…7, т .е e2 — это 1:4 (или 4:1? но в целом ферзю это без разницы)

Минутка отдыха

FIXME Остановились здесь

Поиск шаблона

Примитивный шаблон может состоять из любых символов. Если в нём нет "*", строка называется сопоставимой шаблону, если она в точности ему равна. Спецсимвол "*" сопоставляется любому количеству любых символов, например, строка "a1234b" сопоставима шаблону "a*b".

TODO перенести сюда Д/З с модификацией

Если успеем (не успели)

envp

Вместо i<argc напишем argv[i] (т. е. до пустой строки)

Д/З (пока не готово)

TODO

1. Ввести целые положительные N, K. Написать неуместно рекурсивную функцию , которая вычисляет количество натуральных N-значных чисел в системе счисления с основанием K, таких что их запись не содержит двух подряд идущих нулей. Лидирующие нули не допускаются. Для EJudge N⩽33. Вывести это количество.

6 3

→

328

2. Ввести целое положительное N. Вывести в лексикографическом порядке все правильные скобочные последовательности, состоящие из N открывающих круглых скобок и N закрывающих скобок. Для EJudge N⩽11.

3

→

((()))
(()())
(())()
()(())
()()()

3. Сортировка слиянием. Написать функцию join(int low, int middle, int high, int array[high]), которая считает, что в массиве array есть два последовательно идущих упорядоченных фрагмента: array[low] … array[middle-1] и array[middle] … array[high-1]. Функция создаёт временный массив на high-low элементов, формирует там упорядоченную последовательность и записывает её обратно в array[low] … array[high-1].

4. Поиск шаблона в строке на основе доработанной функции pattmatch(), базовая версия которой приведена выше. Ввести строку s и строку-шаблон p, и то и другое без пробелов. Вывести FOUND, если в строке s есть подстрока, соответствующая p; в противном случае вывести FAIL. Доработки pattmatch():

LecturesCMC/AL/Prac/17_Backtracking (последним исправлял пользователь FrBrGeorge 2026-10-30 18:31:53)