Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ помогите срочно решить олимпиадную задачу

Автор: -серж- 7.12.2007 12:05

Учитель математики Михаил Михайлович задал целое неотрицательное число. Он предложил применить к нему следующую операцию. Так как число представляется последовательностью цифр, то эту последовательность нужно разделить на две непустые части и переставить их местами. Например, число 6478425 можно разделить на две части 64784 и 25. После перестановки этих частей получим число 2564784.
Требуется определить, какое минимальное число можно получить из заданного, применяя к нему несколько раз описанную операцию. И можно ли его получить, используя не более K таких операций?
Входные данные
В первой строке входного файла записано число, которое загадал Михаил Михайлович. Его длина не более 100 цифр. Во второй строке — целое неотрицательное число K (0 ≤ K ≤ 10000).
Выходные данные
Если можно получить из заданного числа минимальное число, определенное описанным спо¬со¬бом, не более чем за K операций, то в первой строке выходного файла должно быть записано сло¬во YES, а во второй строке должно быть искомое минимальное число. Если за K операций невоз¬можно получить такое минимальное число, то в выходной файл необходимо вывести слово NO.
Пример
input.txt output.txt
6478425
3 YES
2564784


unsure.gif