|
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 18
|
|
Перестановки с одни условием14.06.2020, 13:08. Показов 859. Ответов 5
Метки нет (Все метки)
вообщем стоит задача вывести все перестановки массива n, в котором каждая n[i] = i; то есть если вводится число 4,
значит массив состоит из чисел 1 2 3 4. прикол в том, что нужно выводить только те перестановки, в которых все числа не отличаются от соседних больше чем на 3. у меня есть код на cpp, который выводит просто все перестановки, а хотелось бы видеть только правильные перестановки(заодно и оптимизацию повысить). кто сможет помочь? #include <bits/stdc++.h> using namespace std; void display(vector<int> a, int n){ for(int i=0;i<n;i++) cout << a[i] << " "; cout << endl; } int main() { int n; cin >> n; vector<int> a(n); for(int i=0; i<n; i++){ a[i] = i+1; } do{ display(a, n); }while(next_permutation(a.begin(), a.end())); return 0; }
0
|
|
| 14.06.2020, 13:08 | |
|
Ответы с готовыми решениями:
5
Перестановки: чтобы любые две соседние перестановки отличались только порядком двух соседних элементов Цикл с пред условием и пост условием: табулирование функций |
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
||||||
| 14.06.2020, 15:14 | ||||||
|
Т.к. пермутация частный случай комбинации, можно чё-нить такое изобразить:
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 18
|
|
| 14.06.2020, 15:20 [ТС] | |
|
Спасибо большое! Но
можно пожалуйста комменты с обьяснениями в код добавить? А то я еще так не шарю)
0
|
|
|
|
||
| 14.06.2020, 15:25 | ||
|
Добавлено через 1 минуту nalbe666, по-моему, вы переусложняете проблему
0
|
||
|
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 18
|
|
| 14.06.2020, 15:28 [ТС] | |
|
может, допустим один из вариантов перестановок для n = 5: 2 3 4 1 5 -> разница между 1 и 5 больше 3
Добавлено через 55 секунд возможно, тогда обьясните пожалуйста почему и как можно оптимизировать мой код так чтобыон мог работать при n = 15
0
|
|
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
||||||
| 14.06.2020, 15:42 | ||||||
|
Kuzia domovenok, очень может быть.
Я себе накидал памятку для комбинаций на все случаи жизни. Так что код выше, это она с небольшими изменениями. Combinations
0
|
||||||
| 14.06.2020, 15:42 | |
|
Помогаю со студенческими работами здесь
6
Нужна прога с пред условием и пост условием и циклом
Выводяться одни и те же значения На флешке одни ярлыки Ходите ли вы в кино одни? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|