Что-то вроде комбинаторики
Есть такая задача: имеются 2 последовательности (возможно разной длины, не меньше 1). Во вторую закинули элементы первой (возможно не все), перемешав их. Нужно определить, можно ли заново из второй последовательности собрать первую. Допускается, что во вторую могли подкинуть лишние элементы. Примеры: 1 2 3 4 и 3 2 1 Можно пересобрать, только одним способом. 1 2 1 и 2 1 1 Можно, но разными способами, так как неизвестно, на каком месте стояла каждая единица. 1 2 1 и 1 2 3 Нельзя, так как тройки не было в первой. 1 2 3 и 1 2 2 Нельзя, так как в первой была одна двойка, а во второй их две. Может есть математические формулы для такого?
Ответы (1 шт):
Давайте уберем первую часть — о перемешивании, и задача сразу станет простой: можно ли из элементов первого множества А собрать второе множество В. Т.е. математическая — является ли второе множество подмножеством первого.
Формула, собственно — верно ли соотношение

Реализация на С++ — с использованием стандартной библиотечной функции includes.
Комбинаторика тут в полной мере ни при чем...