|
1 / 1 / 0
Регистрация: 29.10.2016
Сообщений: 7
|
||||||||||||||||
Задача о цепочках аминоаксидов15.05.2021, 15:43. Показов 969. Ответов 3
Метки нет (Все метки)
Добрый день.
Задача заключается в том, что генерирую себе текстовый файл FILE_1 и FILE_2 в котором есть цепочка из заглавных букв латинского алфавита, от A -> T. Количество букв может быть в диапазоне [0 , 108]. Алгоритм может за одну итерацию переставить только две буквы местами н.п. ABCD -> CBAD -> CBDA -> ... Пишу bool функцию, которая вернёт true если из строки из FILE_1 перестановками алгоритма получится строка FILE_2. Количество перестановок не играет роль. Что пока придумал: 1) Проверять входные данные на одинаковые длинны строк, уникальные буквы, повторения уникальных букв. (false , если не совпадает) 2) Перестановка с повторениями , если не ошибаюсь , наиболее подходящий алгоритм для перебирания всех возможных вариантов. Но при увеличении количества входных букв больше шести плата временем сильно растёт. 3) Без больших чисел не смогу реализовать 10 входных данных. Нужно использовать длинную арифметику или большие числа. Вопрос по пунктам : 1) Всё понятно 2) Нашёл на форуме :
Какие лучше в использовании ? GNUmp bignum library BOOSTlibrary или писать что-то своё ? Пока что написал такой вариант (сорян, что ещё в main int не вынес ещё всего в функции), проблема в том, что долго обрабатывает и с огромным числом данных входных проблема. Может спецы что-нибудь мудрого посоветуете ?
Понял, что с большими числами надо поработать, никогда не встречался - интересно. А в данной задаче чтоб сэкономить время лучше буду проверять на длину строк , уникальные буквы, количество повторений уникальных букв. Тогда в файлах входных смогу давать 10^8 букв и если всё будет совпадать то как ни крути, всегда можно будет составить из строки s1 строку s2 любым количеством перестановок. Кину код рабочий , если кому интересно.
0
|
||||||||||||||||
| 15.05.2021, 15:43 | |
|
Ответы с готовыми решениями:
3
В некотором государстве ввели компьютерный паспорт гражданина. Укажите пол гражданина и последовательность событий |
|
1 / 1 / 0
Регистрация: 29.10.2016
Сообщений: 7
|
|
| 15.05.2021, 19:58 [ТС] | |
|
Спасибо за ответ. Так и прикинул, что нужно считывать уникальные буквы и количество повторений этих букв и длину строк входных. Если всё ок, то true. Второй код рабочий по такому принципу.
С длинной арифметикой я прикинул решение, что я буду использовать формулу перестановки с перемещениями P = (A!)/ (b1!)*(b2!)*...*(bn!). Если входные данные могут быть 10^8 , то f(10^8) = 8,263931688⋅10 5565708 тут и пригодилась бы мне длинная арифметика.
0
|
|
|
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,289
|
|
| 19.05.2021, 06:29 | |
|
0
|
|
| 19.05.2021, 06:29 | |
|
Помогаю со студенческими работами здесь
4
Задача со строками. Задача находится на фотке, которая прикреплена к сообщению Задача целочисленного программирования. Задача на оптимизацию. Матричный метод Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника Задача коммивояжера, TSP, задача на нахождение кратчайших путей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|