Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
end;
end;
ReadLn(Fin); {перевод строки}
end;
Close(Fin);
BegO:=1; {кольцевая очередь для расстановки меток в ширину}
EndO:=1;
Count:=1; {длина очереди}
Och[BegO].Metka:=0;
Och[1].X:=Nach. X; Och[1].Y:=Nach. Y; {начальная точка}
b:=false;
While Count>0 do
begin
p:=Och[BegO].X;
q:=Och[BegO].Y;
Met:=Och[BegO].Metka;
Och[BegO].X:=0; {для наглядности отладки}
Och[BegO].Y:=0;
BegO:=(BegO mod Raz)+1;
Count:=Count-1; {выбор клетки из начала очереди}
{далее занесение соседних клеток в конец очереди}
if From[p, q+1]='.' then {можно идти направо}
begin
Zanes(p, q+1,b); {занесение в очередь}
From[p, q+1]:='L'; {пришли слева}
if b then Break; {достигли заданной клетки}
end;
if From[p+1,q]='.' then {можно идти вниз}
begin
Zanes(p+1,q, b); {занесение в очередь}
From[p+1,q]:='U'; {пришли сверху}
if b then Break; {достигли заданной клетки}
end;
if From[p, q-1]='.' then {можно идти налево}
begin
Zanes(p, q-1,b);
From[p, q-1]:='R'; {пришли справа}
if b then Break; {достигли заданной клетки}
end;
if From[p-1,q]='.' then {можно идти вверх}
begin
Zanes(p-1,q, b);
From[p-1,q]:='D'; {пришли снизу}
if b then Break; {достигли заданной клетки}
end;
end;
{здесь оказываемся либо при нахождении решения, либо
по исчерпанию очереди, когда больше помечать нечего}
Assign(Fout,'output. txt');
Rewrite(Fout);
if b then {найдено решение}
begin
WriteLn(Fout,'Y');
p:=Kon. X; q:=Kon. Y; {восстановление от конца}
For i:=1 to Met+1 do {клетку '@' не меняем}
begin
C[p, q]:='+';
Case From[p, q] of
'U': p:=p-1;
'D': p:=p+1;
'L': q:=q-1;
'R': q:=q+1;
end;
end;
For i:=1 to N do
begin
For j:=1 to N do Write(Fout, C[i, j]);
WriteLn(Fout); {перевод строки}
end;
end
else WriteLn(Fout,'N');
Close(Fout);
End.
Задачи для самостоятельного решения
2.1. Квадратное озеро (6)
Квадратное озеро с островами задается матрицей размером N × N (1 ≤ N ≤ 300). Каждый элемент матрицы содержит либо символ '@' (собака), обозначающий территорию, которая включает часть острова, либо символ '.' (точка), обозначающий участок свободной воды. В левом верхнем углу озера находится квадратный плот размером M × M (1 ≤ M < N) клеток.
За один шаг плот может сдвигаться на одну клетку по горизонтали или вертикали. Плот и остров не могут иметь общих клеток. Требуется определить минимальное число шагов, необходимых для того, чтобы плот достиг правого нижнего угла озера.
Ввод из файла INPUT. TXT. В первой строке содержатся числа N и M, разделенные пробелами. В следующих N строках находится матрица, представляющая озеро, по N подряд идущих символов в строке. Подматрица размером M × M, находящаяся в левом верхнем углу, не содержит островов, то есть начальное положение плота всегда допустимо.
Вывод: файл OUTPUT. TXT должен содержать единственное число — количество необходимых шагов. Если правого нижнего угла достичь невозможно, то в файл выводится No.
Пример
Ввод 1 Ввод 2 Ввод 3
7 2 7 3 7 3
....... ....... .......
...@... .....@@ .....@@
....... ......@ ......@
..@.... .@..... .@....@
....... .@..... .@.....
....... ....... .......
....@.. ..@@... ..@@...
Вывод 1 Вывод 2 Вывод 3
10 8 No
2.2. Путь коня (6)
Дана шахматная доска, состоящая из N × N клеток (2 ≤ N ≤ 300), несколько из них вырезано. Провести ходом коня через невырезанные клетки путь минимальной длины из одной заданной клетки в другую.
Ввод из файла INPUT. TXT. В первой строке задано число N. В следующих N строках содержится по N символов. Символом # обозначена вырезанная клетка, точкой - невырезанная клетка, @ - заданные клетки (таких символов два).
Вывод в файл OUTPUT. TXT. Если путь построить невозможно, вывести "Impossible", в противном случае вывести такую же карту, как и на входе, но пометить все промежуточные положения коня символом @.
Примеры
Ввод 1 Ввод 2 Ввод 3
5 5 5
..... @..@. @....
.@@.. ..##. ..#..
..... ..... .#...
..... ..... .....
..... ..... ....@
Вывод 1 Вывод 2 Вывод 3
...@. @..@. Impossible
.@@.. ..##.
....@ .@..@
..... ..@..
..... @....
2.3. Остров (10)
Прямоугольный остров имеет кратеры. Требуется соединить каналами ровно два кратера с океаном так, чтобы общая длина каналов была минимальной. Кратером называется совокупность квадратов, удовлетворяющая таким условиям:
- из любого квадрата этого кратера можно попасть в любой другой квадрат этого же кратера, последовательно переходя по кратеру из квадрата в квадрат через их общую сторону; никакие два кратера не пересекаются и не касаются друг друга ни по вертикальной, ни по горизонтальной сторонам квадратов (касание кратеров углами допускается); нет кратеров на границе прямоугольника.
Ввод из файла INPUT. TXT. В первой строке находятся числа N и M через пробел, далее идут N строк по M символов (3 ≤ N, M ≤ 50). Символ X обозначает территорию кратера, точка соответствует незанятой территории. Других символов в исходном файле нет.
Вывод в файл OUTPUT. TXT. Вывести N строк по M знаков. Каналы показать символами '*'.
Примеры
Ввод 1 Вывод 1
5 7
....... ......
....... ......
..X.... **X...
....X.. ....X*
....... ......
Ввод 2 Вывод 2
9 13
............. ........*....
............. ........*....
..XXXXX...... ..XXXXX**....
..X..X....... ..X..X..*....
..X. X.X. X.... ..X. X.X. X....
..X..X....... ..X..X.......
..XXXXX...... ..XXXXX......
............. .............
............. .............
Подсказка. Один из способов решения:
поиском в глубину пометить клетки кратеров числовыми метками (разными для разных кратеров); поиском в ширину (волновой алгоритм) найти два кратчайших пути от разных кратеров до края, определить их общую длину; от каждой свободной клетки поиском в ширину найти- кратчайший путь до границы; кратчайший путь до двух разных кратеров
и сложить их длину;
из двух вариантов в пунктах 2 и 3 выбрать лучший.2.4. Найти кольцо (8)
Прямоугольная комната размером M × N метров с мебелью покрыта квадратными паркетными плитами со стороной один метр. В углу комнаты стоит тяжелый сейф, занимая всю площадь плиты. Под сейф закатилось кольцо с бриллиантом, поэтому решено полностью освободить плиту под сейфом. Для этого нужно переместить сейф на одну из соседних плит путем кантования - поворота в плоскости пола на 90° вокруг одного из своих углов. Соседними считаются плиты, имеющие общую сторону.
Некоторые плиты комнаты заняты стульями. Каждый стул может быть переставлен на свободную соседнюю с ним плиту. В комнате может быть и другая мебель. Она также занимает определенные плиты, но в отличие от стульев не может перемещаться.
При повороте сейфа никакая его точка не должна пересекать внутреннюю часть такой плиты, на которой стоит стул или другая мебель.
Матрица M × N определяет начальное положение мебели. Каждый элемент матрицы описывает одну паркетную плиту. Сейф находится в левом верхнем углу. Плите с сейфом соответствует символ '#', свободной плите паркета - символ '.' (точка), плите со стулом - символ '@', плите с другой мебелью - символ '*'. Поворот сейфа выполняется за одну минуту, а перестановка стула - за одну секунду. Найти минимальное время в секундах, за которое сейф может быть перемещен.
Ввод из файла INPUT. TXT. В первой строке содержатся числа M и N (2 ≤ M, N ≤ 300), разделенные пробелами. В следующих M строках находится матрица, описывающая комнату, по N подряд идущих символов в строке.
Вывод в файл OUTPUT. TXT. Вывести наименьшее число секунд, необходимых для освобождения плиты под сейфом. Если плиту освободить невозможно, вывести No.
Примеры
Ввод 1 Ввод 2 Ввод 3
4 4 4 3 4 2
#... #.* #.
.... .@. .@
@.@. @** @*
...@ @.@ @@
Вывод 1 Вывод 2 Вывод 3
60 61 No
2.5. Пчела Майа (6)
Пчелы живут в ульях, где есть соты. Соты представляют собой поле правильных шестиугольников, соприкасающихся друг с другом. Правильное поле строится следующим образом:
- сначала имеется всего одна сота (рис. 1) – это правильное поле первого уровня; затем вокруг соты появляются соседние (рис. 2) – это правильное поле второго уровня; затем строится еще один «ободок» (рис. 3) – это правильное поле третьего уровня, и т. д.
Пчела Майя возвращается в улей. Она живет в одной из сот правильного поля уровня N (2 ≤ N ≤ 20). Для того, чтобы добраться до своей соты (если она не расположена с краю поля), Майе нужно переместиться через другие соты, в которых могут жить как друзья (перемещаться можно), так и враги (перемещаться нельзя). Майя очень устала и хочет добраться до своей соты, пройдя через минимальное число других сот. Свой путь она может начинать с любой дружественной соты, находящейся с краю поля (то есть такой соты, которая не окружена со всех сторон соседними сотами).

Ввод. В первой строке файла INPUT. TXT записано одно число N – уровень правильного поля. В следующих 2N-1 строках содержатся последовательности из символов ‘V’, ‘D’, ‘M’ (‘V’ – сота врага, ‘D’ – сота друга, ‘M’ – сота Майи).
Вывод. В единственной строке файла OUTPUT. TXT выводится минимальное число сот, через которые придется пройти Майе, чтобы попасть в свою соту (своя сота тоже считается), или ноль, если Майе не удастся попасть в свою соту.
Примеры
Ввод 1 Ввод 2 Ввод 3
2 3 2
VV VVV VV
VMV VDDV VMV
VD VMVDV VV
VVDV
VVD
Вывод 1 Вывод 2 Вывод 3
2 6 0
2.6. Шахматы (10)
Шахматная доска состоит из N строк и M столбцов (1 ≤ N, M ≤ 15). Имеется единственный белый король. У черных в распоряжении кони, слоны и ладьи. По заданному расположению фигур требуется взять белым королем все черные фигуры за минимальное число ходов, не находясь при этом под боем.
Ввод. В первой строке находятся числа M и N. В следующих N строках по M символов задано расположение фигур. Имеются следующие обозначения:
- «.» – пустая клетка; «*» – белый король; «K» – черный конь; «B» – черный слон; «R» – черная ладья.
Белый король в начальной позиции не атакован. Общее число черных фигур не более 14.
Вывод. В единственной строке выводится минимальное число ходов, необходимое для взятия черных фигур. Вывести 0, если черных фигур нет, и -1, если взять все черные фигуры невозможно.
Ограничения. На одном тесте время счета не должно превышать 6 сек. Максимально допустимая память 256 мгб.
Пример
Ввод
7 9
.........
.........
.........
..R. K.R..
.........
.........
*........
Вывод
9
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


