Форум программистов, компьютерный форум CyberForum.ru

Реализация комбинаторики - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сложение 2-х целых двоичных чисел, хранящихся в массивах A и B http://www.cyberforum.ru/cpp-beginners/thread632267.html
Задачка из Кормена. Результат записать в массив С. Написал, что-то вроде: int main() { int i,q=0; for(i=n-1;i>=0;i--) { c = a^b^q; q = (q+a+b)>>1; }
C++ задача непонятная Объясните, пожалуйста, что нужно сделать, а то формулу не могу вывести, т.е. что нужно делать и с какой последовательностью. Было бы здорово если объяснение с примером ) http://www.cyberforum.ru/cpp-beginners/thread632260.html
Библиотека/утилита для извления flv (флэш) контента из html страницы C++
Есть ли подобные вещи для извлечения url на flv контент из html кода страницы? Сразу скажу, что это не популярный видеохостинг типа ютуба. Но при помощи браузера фаерфокса+плагина download helper я могу перейдя на нужную страницу скачать ровно один нужный мне видеофайл, а мне надо скачать штук так 300, если не больше и вручную делать это очень утомительно. Сам принцип построения ссылки на flv...
Какой книгой лучше пользоваться при изучении visual c++ 2008 C++
Решил изучить visual c++ 2008. Какой книгой лучше пользоваться при изучении(полый "0" в с++)?
C++ Программирование пользовательского элемента управления http://www.cyberforum.ru/cpp-beginners/thread632210.html
Я собираюсь сделать грубый графический редактор для моей же игры. Для этого мне надо сделать новый элемент управления в качестве облегченного варианта PictureBox, с одним пикселем. У него будет только следущие качества : Location и BackgroundColor. ПОМОГИТЕ
C++ Чтение свойтв (тех данных) файла Здравствуйте. Подскажите пожалуйста, как считывать все тех данные файлов? (они же свойства файла) Под техданными имею ввиду: размеры картинки, время создания/изменения, разрешение видеофайла, скорость, продолжительность, размер и т.п. В общем все то, что показывает винда при выделении файла. Грубо говоря, для начала: в текстбоксе пишу полный путь к файлу, и хочу получить все эти тех... подробнее

Показать сообщение отдельно
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
03.08.2012, 23:28     Реализация комбинаторики
Цитата Сообщение от Hi4ko Посмотреть сообщение
Во вложении вывод на строку "hello"
Думаю там не все комбинации получены.

1. Получить все перестановки с максимальной длиной исходной строки
2. Полученный набор строк путем укорачивания их на n-символов.
3. Удаляем повторяющиеся строки

Не оптимально правда, но ничего другого пока не придумал.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int main()
{
system("chcp 1251");
using namespace std;
 
string s="123";
//getline(cin,s); // Ввод
 
vector<string> c;
// Получение возможных перестановок
sort(s.begin(),s.end() );
do {  c.push_back(s); }
while ( next_permutation (s.begin(),s.end()) );
 
vector<string> buf(c);
 
while(buf.back().size()>1)
 {
  // "Укорачивание строк"
  for(size_t i=0; i<buf.size(); i++)  buf[i].erase(buf[i].end()-1 );
  // Удаление одинаковых комбинаций
  sort(buf.begin(),buf.end() );
  buf.erase(unique(buf.begin(),buf.end()),buf.end() );
  // добавляем
  copy(buf.begin(),buf.end(),back_inserter(c) );
 }
//  Вывод
copy(c.begin(),c.end(),ostream_iterator<string>(cout,"\n"));
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Вывод:
Код
Текущая кодовая страница: 1251
123
132
213
231
312
321
12
13
21
23
31
32
1
2
3
Для продолжения нажмите любую клавишу . . .
 
Текущее время: 15:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru