• Предмет: Информатика
  • Автор: Трафальгар
  • Вопрос задан 7 лет назад

На с++(с комментариями)
Максимальное время работы на одном тесте: 1 секунда
На день рождения Пете подарили набор карточек с буквами. Теперь Петя с большим интересом составляет из них разные слова. И вот, однажды, составив очередное слово, Петя заинтересоваля вопросом: "А сколько различных слов можно составить из тех же карточек, что и данное?". Помогите ему ответить на этот вопрос.

Входные данные
Вводится слово, составленное Петей – строка из маленьких латинских букв не длиннее 15 символов.

Выходные данные
Выведите одно целое число – искомое количество слов.

Примеры
входные данные
solo
выходные данные
12

Ответы

Ответ дал: infuzia216
0
string line; getline(cin,line); //Можно и просто через cin..даже наверное лучше в данном случае именно через cin;
int count = 0;
sort(line.begin(),line.end());
do{
count++;
}while(next_permutation(line.begin(), line.end()));
cout<<count;
system("pause");

Где next_permutation - перебор всевозможных вариантов или делать, пока возможна перестановка.
sort() - функция сортировки. Так же есть более медленный qsort.
Ответ дал: Трафальгар
0
а вы не могли бы написать программу с самого начала? а не только фрагмент программы?
Ответ дал: infuzia216
0
а в чем трудность заключить ее в main() { .. } и подключить нужные библиотеки ?
Вас заинтересует