Перебор размещений n-элементного множества. на с++, питон или паскаль абс

Стефанія2016 Стефанія2016    3   27.09.2019 00:40    0

Ответы
404678 404678  08.10.2020 21:30
//GNU C++ compiler
#include <bits/stdc++.h>

using namespace std;

int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
/* ввод и вывод из файла, если не нужно можно смело стирать. ну или закомментить*/
int n;
cin >> n;
vector<int> a(n);
/* предпологаю что у нас числа, при желании тип данных можно поменять */
for( int i = 0; i < n; i++)
cin >> a[i];
sort( a.begin(), a.end() );
while( next_permutation(a.begin(), a.end()) )
{
for( int i = 0; i < n; i++)
cout << a[i] << " ";
cout << "\n";
}
return 0;
}
/*если я правильно понял задачу, то это нужное решение. задача NP-полная факториальной сложности. 10 чисел отработает ±быстро(порядка секунды), для 11 можно получить результат немного подождав(около 10 секунд), для 12 лучше набраться терпения(порядка 2 минут). 13(20-30 минут) и дальше лучше не пробовать
ввод использовал медленный, т.к. в нашем случае это капля в море
могут быть опечатки, печатал с телефона*/
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика