** с++(с комментариями) Максимальное время работы ** одном тесте: 1 секунда ** день...

0 голосов
70 просмотров

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

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

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

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


Информатика (340 баллов) | 70 просмотров
Дан 1 ответ
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;<br>system("pause");

Где next_permutation - перебор всевозможных вариантов или делать, пока возможна перестановка.
sort() - функция сортировки. Так же есть более медленный qsort.

(204 баллов)
0

а вы не могли бы написать программу с самого начала? а не только фрагмент программы?

0

а в чем трудность заключить ее в main() { .. } и подключить нужные библиотеки ?