Ускорение программы работающей со строками
Подскажите, как быстрее сделать? Какие вообще есть быстрые способы решения? Моё решение выходить за границу времени.
Слова (Время: 1 сек. Память: 16 Мб Сложность: 48%) Для шифрования слов с ними можно производить множество различных операций. Например, интересна такая операция: первые несколько букв заданного слова приписываются к его концу в обратном порядке, после чего удаляются из начала слова. При этом слово a1a2 … akak+1 … an переходит в слово ak+1 … anakak-1 … a1 (число k выбирается в диапазоне от 0 до n). Для двух заданных слов требуется определить, можно ли применением описанной операции преобразовать первое слово во второе. Входные данные Входной файл INPUT.TXT состоит из двух строк - на первой из них записано исходное слово, а во второй - предполагаемый результат. Длины строк не превышают 50000 символов. Выходные данные В первой строке выходного файла OUTPUT.TXT выведите "Yes", если преобразование возможно, и "No", если нет. В случае положительного ответа во второй строке выведите k - длину перемещаемой части исходного слова k (из всех таких k выберите минимальный). Моё решение: Код:
#include <string> |
Часовой пояс GMT +4, время: 17:23. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.