Задан N-вершинный орграф, в каждой вершине которого записано по строчной букве латинского алфавита. Рассмотрим все пути в этом графе, в том числе состоящие из одной вершины, и выпишем слова, образуемые при прохождении по этим путям (каждое слово выписывается один раз). Требуется найти К-ое в лексикографическом порядке слово.
INPUT.TXT | OUTPUT.TXT |
2 7 a 2 1 2 b 1 1 |
aaaaaaa |
Лабиринт представляет собой матрицу MxN, некоторые ячейки которой пустые, а остальные заполнены камнями. В одной из пустых ячеек находится клад, а в другой - кладоискатель. Кладоискатель не может находиться в ячейке, заполненной камнем, а также за пределами лабиринта. Кладоискатель может передвигаться в соседнюю (пустую) ячейку (соседними считаются ячейки, граничащие по стороне), тратя на каждое перемещение T1 секунд. Кроме того, у кладоискателя есть K гранат, которые он может использовать для освобождения ячеек от камней, что сделает ранее непроходимую ячейку - проходимой (пустой). Чтобы очистить ячейку от камней, он должен стоять на одной из 4 соседних с этой ячейкой клеток и использовать одну гранату. Взрыв длится T2 сек. (все это время кладоискатель стоит на месте). Какова последовательность действий кладоискателя (перемещений и подрывов), при которой на достижение ячейки с кладом тратится наименьшее время? При наличии нескольких решений вывести то из них, при котором используется наименьшее количество гранат.
X
', пустая ячейка обозначается символом '.' (ASCII код 46), начальная позиция кладоискателя - буквой 'Y
', позиция клада - латинской буквой 'B
'.
w
', 'e
', 'n
', 's
' обозначают передвижения на запад, восток, север и юг соответственно, символы 'W
', 'E
', 'N
', 'S
' обозначают взрывы в соответствующих перечисленным направлениям соседних клетках.
INPUT.TXT | OUTPUT.TXT |
3 3 3 7 60 X.Y XXX BXX |
YES wWwSss |
Биномиальным коэффициентом C[N,K] называется число N!/(K!*(N-K)!). Требуется подсчитать C[N,K].
INPUT.TXT | OUTPUT.TXT |
4 2 |
6 |
Задано натуральное N. Требуется найти перестановку P[1],...,P[N] чисел 1,...,N, доставляющую максимум суммы Sum( ( ( P[i] - P[j] ) / (i - j) )^2, 1 ≤ i < j ≤ N ).
INPUT.TXT | OUTPUT.TXT |
3 |
2 3 1 |